我有一个Excel工作簿,可以逐行计算一些验证标准。我想创建一个列来获取失败条件的第一个值,或者如果验证通过则不显示任何内容。 麻烦的是,大多数示例都依赖于这样的想法:要找到的数据是在列中,而不是在一行中,并且出于某种原因,我无法在此实例中使用HLOOKUP。
例如,我有行标题:
ID Balance Requests Failed_LowBalance Failed_MaxRequestsExceeded
数据:
0 4.00 4 =IF(B2<10,"Failed: Low Balance","") =IF(C2>5,"Failed: Max Requests Exceeded","")
如图所示,如果B列(余额)小于10,则列D只有一个值,如果C大于5,则E将有一个值。
理想情况下,我只有第一个实例,其中单元格D和E可能有一个值,我可以通过使用讨厌的级联IF语句(即IF(D2&lt;&gt;“”,D2,IF(E2&lt))来模拟它;&gt;“”,E2,“”))),但我不是出于显而易见的原因。
我尝试过像这样使用HLOOKUP,但它根本不能很好地运行:
=HLOOKUP("*",D2:E2,1,0)
答案 0 :(得分:4)
如果字符串始终以“失败”
开头,则可以将此公式与通配符一起使用 =HLOOKUP("Failed*",D2:E2,1,0)
...如果“失败”不存在,你可以添加IFERROR函数来返回一些文本值,例如
=IFERROR(HLOOKUP("Failed*",D2:E2,1,0),"")
答案 1 :(得分:0)
您可以选择显示数字值(1,2,3,...),而不是显示明文错误消息,因为通过列标题清除了含义。然后,您的第一个错误是行中所有错误条件的=MIN(...)
。
除此之外,您还可以获得错误编号列表和明文说明,除了=VLOOKUP(...)
=MIN(...)
的来源