Проблема Соответствия Excel с логическим выражением

У меня есть блок данных, который представляет шаги в процессе и возможных ошибках:

ProcessStep   Status
FeesPaid      OK
FormRecvd     OK
RoleAssigned  OK
CheckedIn     Not Checked In.
ReadyToStart  Not Ready for Start

Я хочу найти первое Состояние, которое не "в порядке".

Я делал попытку этого:

=Match("<>""OK""", StatusRange, 0)
который, как предполагается, возвращает индекс первого элемента в диапазоне, который НЕ является - РАВЕН (<>) к "OK"
Но это не работает, вместо этого возвращаясь #N/A.

Я ожидаю, что это возвратится 4 (индекс № 4, в индексе на основе 1, представляя, что CheckedIn является первым элементом неOK),

Какие-либо идеи, как сделать это?

0
задан 19.06.2012, 23:53

2 ответа

Предположим, что ячейки для проверки находятся в A1:A10. Затем это достаточно для использования следующей формулы:

=MATCH(0,IF(A1:A10="OK",1,0),0)

вводиться Ctrl+Shift+Enter

2
ответ дан 24.11.2019, 06:55

Существует по крайней мере один простой способ сделать это, если Вы не возражаете настраивать другой блок (возможно скрытый) ячейки где-нибудь. Например, Вы могли добавить столбец формулы следующим образом, который тестирует, равна ли ячейка с ее левой стороны от него "OK":

|   | A              | B        | C        |
|---+----------------+----------+----------|
| 1 | "ProcessStep"  | "Status" |          |
| 2 | "FeesPaid"     | "OK"     | =B2="OK" |
| 3 | "FormRecvd"    | "OK"     | =B3="OK" |
| 4 | "RoleAssigned" | "OK"     | =B4="OK" |
| 5 | "CheckedIn"    | "OK"     | =B5="OK" |
| 6 | "ReadyToStart" | "OK"     | =B6="OK" |

Теперь можно использовать =MATCH(FALSE,C2:C6,0) найти строку, содержащую первое состояние неOK.

Править: Toc имеет лучшее решение.

0
ответ дан 24.11.2019, 06:55

Теги

Похожие вопросы