在Excel中进行布尔检查,仅检查第一个字符

时间:2013-12-08 00:13:58

标签: excel if-statement character

我有一张Excel表格,其中的数据仅在第一列中,其中每个单元格以字符H,G,I,B,H,E,S,C开头,或者没有上方。

我想写一个命令,这样在第二列中,将会发生以下四种情况之一:

  1. 如果第一列中的单元格以H,G或I开头,则第二列中的单元格被指定为H
  2. 如果第一列中的单元格以B或E开头,则第二列中的单元格被指定为E
  3. 如果第一列中的单元格以T,S或C开头,则第二列中的单元格被指定为C
  4. 如果第一列中的单元格不是上述单元格中的单元格,则第二列中的单元格保持空白
  5. 我发现这个命令解决了部分问题:

    =IF(OR(B25="H"; B25="G"; B25="I");"H";"") & IF(OR(B25="B"; B25="E");"E";"") & IF(OR(B25="T"; B25="S"; B25="C");"C";"")

    但是,这仅在第一列只包含一个字符时才有效。我想定制这个命令,这样它就不需要在第一列中只有一个字符,但它只是字符开头。

    我希望这是有道理的。如果您有任何建议,请告诉我! :O)

3 个答案:

答案 0 :(得分:2)

也许是“LEFT()” - 功能就是你要找的。

像“LEFT(A1,1)”这样的东西会给你单元格A1中字符串的第一个字符。

更多信息: http://office.microsoft.com/en-us/excel-help/left-leftb-functions-HP005209153.aspx

编辑:哇,这个社区给我留下了深刻的印象。 (对我来说太快了;))

答案 1 :(得分:1)

试试这个:

=IF(OR(LEFT(AB25,1)="H"; LEFT(AB25,1)="G"; LEFT(AB25,1)="I");"H";"") & IF(OR(LEFT(AB25,1)="B"; LEFT(AB25,1)="E");"E";"") & IF(OR(LEFT(AB25,1)="T"; LEFT(AB25,1)="S"; LEFT(AB25,1)="C");"C";"")

答案 2 :(得分:1)

在工作簿中的其他位置创建一个小表。为了举例,我们给它命名范围“MyLookup”。此表只是将输入值映射到所需的输出值,如下所示:

MyLookup:
Input    Output
H        H
G        H
I        H
B        E
E        E
etc...

现在使用这个非常简单的公式来获得结果:

=IFERROR(VLOOKUP(LEFT(B25,1),MyLookup,2,FALSE),"")

有意义吗?