Количество уникальных характеристик в таблице повторяющихся строк

В моей таблице перечислены повторяющиеся строки на основе столбца идентификаторов дубликатов. У повторяющихся строк может быть один или несколько столбцов характеристик, имеющих уникальные значения. Я пытаюсь подсчитать, какие столбцы характеристик в повторяющихся строках имеют уникальные значения.

До:

+-----+----------+-------------+-----------+------------+
| ID  | charType | charFlavour | charColor | charWeight |
+-----+----------+-------------+-----------+------------+
| 123 | gel      | mint        | blue      | 10gms      |
| 123 | liquid   | mint        | blue      | 10gms      |
| 123 | solid    | mint        | blue      | 10gms      |
| 456 | wood     | orange      | red       | 20gms      |
| 456 | wood     | vanilla     | red       | 20gms      |
| 456 | wood     | raspberry   | red       | 20gms      |
| 456 | wood     | strawberry  | red       | 20gms      |
| 789 | metal    | mango       | yellow    | 25gms      |
| 789 | metal    | mango       | yellow    | 30gms      |
| 789 | metal    | mango       | yellow    | 22gms      |
| 333 | silica   | NA          | magenta   | 11gms      |
| 333 | plastic  | NA          | white     | 11gms      |
| 333 | rubber   | NA          | teal      | 11gms      |
+-----+----------+-------------+-----------+------------+

После:

+-------------+-----+-----+-----+-----+-------+
|     ID      | 123 | 456 | 789 | 333 | Total |
+-------------+-----+-----+-----+-----+-------+
| charType    |   1 |   0 |   0 |   1 |     2 |
| charFlavour |   0 |   1 |   0 |   0 |     1 |
| charColor   |   0 |   0 |   0 |   1 |     1 |
| charWeight  |   0 |   0 |   1 |   0 |     1 |
+-------------+-----+-----+-----+-----+-------+

Возможен ли этот формат с использованием сводной таблицы или Google Query?

1 ответ

Возможно, это не самое элегантное решение, которое вы искали - похоже, ни одна функция на языке запросов Google не возвращает все уникальные значения столбца. Но это решение должно успешно подсчитывать, для каждого атрибута, сколько идентификаторов соответствуют более чем одному значению этого атрибута. Например, он посчитает, сколько идентификаторов соответствуют нескольким charFlavours. Вот два шага / запроса:

  1. =QUERY(A1:E, "select A, max(B), min(B), max(C), min(C), max(D), min(D), max(E), min(E) group by A", 1): Это выберет алфавитное / числовое максимальное и минимальное значение для каждого атрибута относительно каждого идентификатора. Он вернет одну строку для каждого идентификатора, содержащую значения атрибутов min и max.

  2. Для каждого атрибута используйте что-то вроде =QUERY(G1:O, "select count(G) where H != I", 1), Если у вас есть четыре атрибута, вам понадобится четыре из этих вызовов; просто поменяй where H != I быть двумя столбцами, соответствующими каждому атрибуту. Каждый из них QUERY Вызовы будут генерировать таблицу только с одним значением, число идентификаторов, имеющих несколько значений для определенного атрибута.