У меня сложный запрос для электронной таблицы, настроенной так:
A B C D
a1 b1 c1 d1
a2 b2 c2 d2
.. .. .. ..
Следующие условия должны выполняться совместно:
A является определенной строкой foo
B должна быть конкретная строка бар
C должен быть TRUE
Если все вышеперечисленное не выполняется одновременно, тогда задайте значение 3. Если все вышеперечисленное выполнено, но D не является искомой строкой foobar, укажите значение 2. Если все условия выполнены (включая условие D), вернуть 1.
Я использую следующий синтаксис:
=IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0))=TRUE, 3, IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE)*(D2:D449="foobar"),0))=TRUE, 2, 1))
Кажется, есть проблема с последним "ISERROR". Он также не возвращает правильное значение самостоятельно.