Синтаксис FILTER (умова АБО умова)?


32

Я використовую FILTER()для відображення значення з Таблиці 2, де Nameстовпці відповідають.

Моя проблема полягає в тому, де я хочу:

=FILTER(Sheet2!A:F, Sheet2!A:A="Combat Medic" OR Sheet2!A:A="Universal")

як ORрезультат призводить до помилки.

Який правильний синтаксис?
Потрібно використовувати QUERY()замість цього?


Відповіді:


43

Використовуйте наступну формулу для отримання потрібного запиту.

Формула

=FILTER(A:A;(A:A="Combat Medic")+(A:A="Universal"))

Пояснив

У посиланні Ахав пояснює, що +і *може бути використаний як булеві вирази, як ORі AND.

Рішення з IFERROR(див. Історію версій) в цьому випадку не приносить користі, якщо ви не хочете знайти певний рядок:

=FILTER(Sheet2!A:F;IFERROR(FIND("Combat";A:A);0) + IFERROR(FIND("Uni";A:A);0))

Тут IFERRORповертається, 0коли нічого не знайдено, внаслідок чого формула все ще функціонує.

Знімок екрана

введіть тут опис зображення

Приклад

Я змінив приклад-файл, щоб він містив обидва рішення: Фільтр із булевою формою

Довідково

Форум продуктів Google, булеві вирази


Цікаво! Не могли б ви детальніше розповісти, як IFERROR(...) + IFERROR(...) працює?
Відар С. Рамдал

де документація, що "+" може використовуватися як булева АБО?
Кріс Морріс


@JacobJanTuinstra Дякую Якобу. Чи є офіційна документація?
Кріс Морріс

-1

=FILTER(A:F, REGEXMATCH(A:A, "Combat Medic|Universal"))

0


=QUERY(A:F, " where A matches 'Combat Medic|Universal'", 0)

0

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.