在Excel中检查布尔值,仅检查第一个字符
我有一个只有第一列数据的Excel工作表,其中每个单元格都以字符H,G,I,B,H,E,S,C或以上都不是。
我想写一个命令,以便在第二列中有四件事情中的一件发生:
- 如果第一列中的单元格以H,G或I开始,则第二列中的单元格将被分配H
- 如果第一列中的单元格以B或E开头,则第二列中的单元格将被分配E
- 如果第一列中的单元格以T,S或C开始,则第二列中的单元格将被分配为C.
- 如果第一列中的单元格以上面的任何一个开头,则第二列中的单元格保持空白
我发现这个命令会造成部分问题:
=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";"")