Как заставить работать вложенное «И» внутри «ЕСЛИ» в формуле массива?
Я свел свою проблему к следующему примеру: Примечание: приведенное выше изображение было обновлено и теперь включает фигурные скобки формулы массива
Вверху справа у нас есть критерии поиска в L3 («цвет») и L4 («форма»). Слева столбец D содержит рабочие формулы соответствия как для цвета, так и для формы в списке элементов. В первой таблице показана правильная работа формулы соответствия без использования формулы массива.
Во второй таблице показана формула массива, соответствующая цвету.
В третьей таблице показана формула массива, соответствующая форме.
Справа - моя попытка использовать оба критерия в формуле массива, комбинируя их с AND.
ЕСЛИ значение в столбце цвета соответствует критериям цвета (L3), а значение в столбце формы соответствует критериям формы (L4), тогда я хочу увидеть «СООТВЕТСТВИЕ!».
Я нашел обходной путь: объедините значения и критерии, а затем сопоставьте их в одном IF. Я чувствую, что должен быть лучший способ ... например, если бы И работал так, как ожидалось!
Примечание. Многие из приведенных ниже ответов работают правильно, но не как формулы массива, о чем и идет речь. Я посмотрел на свой исходный вопрос и понял, что забыл показать фигурные скобки в примерах формул массива. Я исправил изображение, чтобы показать их. Извините за путаницу.
Ключ к ответу на эти вопросы - написать что-то, что работает как формула массива, который вводится нажатием CTRL + SHIFT + ENTER после ввода формулы в ячейку. Excel автоматически добавит фигурные скобки, чтобы указать, что это формула массива.
and
принимает массивы в качестве аргументов и возвращает одно значение (все ли они истинны?), Он не применяется к каждому элементу отдельно, как функция (например,if
), принимающая только отдельные значения. Разные контексты, разные способы работы, как ожидалось. :-) Умножение массивов (неявно TRUE- ›1, FALSE-› 0) является эквивалентом массиваand
(возвращает ненулевое значение, если ни один из них не равен нулю), а добавление (неотрицательных) массивов является эквивалентом массиваor
(возвращает ненулевой, если какой-либо ненулевой). - person maybeWeCouldStealAVan   schedule 13.01.2014