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

我有一个只有第一列数据的Excel工作表,其中每个单元格都以字符H,G,I,B,H,E,S,C或以上都不是。

我想写一个命令,以便在第二列中有四件事情中的一件发生:

  1. 如果第一列中的单元格以H,G或I开始,则第二列中的单元格将被分配H
  2. 如果第一列中的单元格以B或E开头,则第二列中的单元格将被分配E
  3. 如果第一列中的单元格以T,S或C开始,则第二列中的单元格将被分配为C.
  4. 如果第一列中的单元格以上面的任何一个开头,则第二列中的单元格保持空白

我发现这个命令会造成部分问题:

=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";"")

但是,这只适用于第一列只包含一个字符的情况。 我想定制这个命令,这样就不需要在第一列只有一个字符,而只是字符开始

我希望这是有道理的。 请让我知道,如果您有任何build议! :O)

也许“左()” – function是你在找什么。

像“LEFT(A1,1)”应该给你单元格A1中string的第一个字符。

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

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

在工作簿的其他地方创build一个小表格。 为了举例,我们给它命名的范围“MyLookup”。 这个表格只是将input值映射到所需的输出值,如下所示:

 MyLookup: Input Output HH GH IH BE EE etc... 

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

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

合理?

尝试这个:

=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";"")