Excel匹配与逻辑expression式的问题
(我明白Excel只是边界编程)
我有一个代表过程中的步骤和可能的错误的数据块:
ProcessStep状态 费用确定 FormRecvd确定 angular色分配确定 检入未检入。 ReadyToStart未准备好启动
我想find不是“OK”的第一个状态。
我曾试图这样做:
=Match("<>""OK""", StatusRange, 0)
这是应该返回的第一个元素在不等于(<>)的范围内的索引为“OK”
但是这不起作用,而是返回#N/A
我期望它返回4(在基于1的索引中的索引#4,表示CheckedIn是第一个非OK元素)
任何想法如何做到这一点?
我认为这个和其他类似的问题是完全合法的编程问题(编辑:请参阅: https : //meta.stackexchange.com/questions/22922/which-site-do-excel-or-other-spreadsheet-formulas-belong- 76767#76767 )。 (这可能是其他一些StackOverflow问题的重复,但是。)
你想使用一个数组公式:
=MATCH(TRUE,(StatusRange<>"OK"),0)
您需要使用Ctrl-Shift-Enter将其作为数组公式input。
“MATCH”在范围或数组中find一个值。 比较范围到标量,如'(StatusRange <>“OK”)',返回一个布尔值的数组,所以你正在寻找匹配的值为'真'。
(您发布的公式是查找值为“<>”OK“的string文字…)
如果您最终需要ProcessStep列中的值,请查看“INDEX”或“VLOOKUP”函数的帮助。