У меня есть электронная таблица с одним столбцом с кучей имен (с дубликатами) и столбцом тестирования, который будет либо «нормально», «не - нормально», либо «» (если не запущен). Я хотел создать формулу, которая будет получать все уникальные имена, а затем подсчитывать, сколько 'not - ok' + '' соответствует этому имени, например,

Column A     Column B
Bob            ok
John           not - ok
Rob            
Bob            not - ok
John           ok
Joe            ok
John  

И желаемый результат будет

Column C    Column D
Bob           1
John          2
Rob           1
Joe           0

Мне удалось получить уникальное имя с помощью = UNIQUE (A2: A10), но не знаю, как создать столбец D

0
user3626708 15 Апр 2016 в 18:22

3 ответа

Лучший ответ

Этот запрос дает всем, у кого в столбце B есть «ok»:

=query(A2:B, "select A, count(B) where B matches '.*ok' group by A", 0)

Если вы хотите создавать собственные заголовки в этом запросе, используйте эту формулу:

=query(A2:B, 
"select A, count(B) where B matches '.*ok' group by A label A 'name1', count(B) 'name2'",
0)
1
Max Makhrov 19 Апр 2016 в 05:45

Может попробовать что-нибудь вроде этого:

=query(A2:B, "select A, count(B) where A <> '' and B <> 'ok' group by A", 0)

Или

=query(A2:B, "select A, count(B) where A <> '' and (B = '' or B = 'not - ok') group by A", 0)
1
JPV 15 Апр 2016 в 20:17

Вы можете сделать это с помощью pivot. «Имена» идут строками, в качестве значения вы можете использовать количество элементов «столбца B». Затем добавьте глобальный фильтр для статуса «ОК».

0
Dinsdale 15 Апр 2016 в 20:26