Фильтр многостолбцовых таблиц Google с использованием ИЛИ - PullRequest
13 голосов
/ 25 марта 2010

У меня есть таблица Google с 3 столбцами, которые либо пустые, либо имеют значение. Я хочу получить количество строк, в которых есть A и B или C. Если бы я писал запрос SQL, это было бы

select count(*) 
from Table 
where A is not null and (B is not null or C is not null)

Но я не могу понять, как получить это в таблице Google

1 Ответ

33 голосов
/ 02 мая 2010

Формула ниже должна делать то, что вы после:

=ROWS(FILTER(A2:A, NOT(ISBLANK(A2:A)), NOT(ISBLANK(B2:B))+NOT(ISBLANK(C2:C)) ))

И объяснить:

  • ROWS считает строки аргумента (в нашем случае отфильтрованные)
  • FILTER возвращает строки аргумента arg1 (A2:A), которым соответствуют все последующие аргументы
  • Символ + (сложение) объединяет два предиката с логическим OR

Наконец, если вы не используете столбцы заголовков, вы можете изменить ссылки с A2:A на A:A

Кроме того, вы можете использовать функцию QUERY:

(разбито на несколько строк для удобства чтения)

=ROWS(QUERY(A2:C, 
    "SELECT A WHERE A IS NOT NULL AND (B IS NOT NULL OR C IS NOT NULL)"))

Для получения дополнительной информации о синтаксисе запросов см. Справочник по языку запросов API визуализации и, в частности, Справочник по языку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...