Посчитать вхождение по дням недели в столбцах и строке - PullRequest
0 голосов
/ 14 января 2019

У меня есть таблица Google , где в столбцах указаны конкретные даты, а в строках - продукты.

| Weekdays  |        |     | 2        | 3        | 4        | 5        | 6        |
| Activity  | Streak | Max | 06.11.18 | 07.11.18 | 08.11.18 | 09.11.18 | 10.11.18 |
|-----------|--------|-----|----------|----------|----------|----------|----------|
| Product 1 | 0      | 5   | x        | x        | x        | x        | ...      |
| Product 2 | 0      | 6   | x        |          | x        | x        | ...      |
| Product 3 | 0      | 11  | x        | x        | x        | x        | ...      |
| Product 4 | 0      | 7   |          |          |          |          | ...      |

см. Мой Data sheet.

На вкладке Evaluation Я попытался сгенерировать следующую матрицу, которая должна ответить на вопрос, в какой день недели произошло появление каждого из продуктов.

| Weekdays vs. Products | Product 1 | Product 2 | Product 3 | Product 4 |
|-----------------------|-----------|-----------|-----------|-----------|
| 1                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 2                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 3                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 4                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 5                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 6                     | #N/A      | #N/A      | #N/A      | #N/A      |
| 7                     | #N/A      | #N/A      | #N/A      | #N/A      |

Я попробовал просто =COUNTIF(Data!$2:$2;$B3;C$2;Data!A3), однако, как вы можете видеть выше, я получаю #N/A.

Какие-либо предложения, как рассчитывать для каждого дня недели появление продукта?

Ценю ваш ответ!

PS .: Найти мой пример таблицы Google здесь: Таблица Google

1 Ответ

0 голосов
/ 14 января 2019

Попробуйте

=countif(filter(filter(Data!$D$3:$BA;Data!$A$3:$A=C$13); Data!$D$1:$BA$1=$B14); "x")

и при необходимости заполните и вправо.

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

=ArrayFormula(substitute(query(split(transpose(split(textjoin(;1;query(if(Data!D3:BA10="x";substitute(Data!A3:A10; " ";"/")&"_"&Data!D1:BA1&"_"&Data!D3:BA10;);;rows(Data!A3:A10)));" ")); "_"); "Select Col2, count(Col3) group by Col2 pivot Col1 label Col2 'Weekday'"); "/"; " "))

Обратите внимание, что эта формула может нарушиться (из-за ограничения символов в textjoin ()) для больших наборов данных.

...