我有一个 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<>"",D2,IF(E2<>"",E2,"")) ),但出于明显的原因,我宁愿不这样做。
我尝试像这样使用 HLOOKUP ,但它根本不能很好地工作:
=HLOOKUP("*",D2:E2,1,0)
最佳答案
如果字符串始终以“失败”开头,您可以将此公式与通配符一起使用=HLOOKUP("Failed*",D2:E2,1,0)
...如果“失败”不存在,您可以添加 IFERROR 函数以返回一些文本值,例如=IFERROR(HLOOKUP("Failed*",D2:E2,1,0),"")
关于excel - 返回以某个字符串开头的行中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19663572/