Это можно сделать полностью с формулами. Для этого требуется небольшая косвенная адресация и один (но для ясности я сделаю это два) отдельные рабочие столбцы вдоль исходных данных и три дополнительных столбца в таблице результатов:
Я предполагаю, что фактические данные начинаются в строке 3, чтобы учесть некоторые заголовки. Я буду использовать ;
для разделения аргументов, что не является стандартом для США. Я не буду предполагать, что даты отсортированы . С этим предположением решение будет проще.
- Ячейка H2 (Сколько строк на входе):
=COUNT(A3:A1048576)
- Cell C3 (динамический диапазон просмотра): ничего
- Клетки C4: C1000:
=ADDRESS(ROW(A$3);COLUMN(A$3)) & ":" & ADDRESS(ROW(A3);COLUMN(A3))
- Ячейка D3 (уникальна):
TRUE
- Ячейка D4: D1000:
=COUNTIF(INDIRECT(C4);A4)=0
- Ячейка E3 (номер уникальной записи):
1
- Ячейка Е4: Е1000:
=IF(D4;E3+1;E3)
- Ячейка I2 (сколько уникальных найдено):
=OFFSET(E3;H2-1;0)
- Ячейка J2 (диапазон дней недели):
=ADDRESS(ROW(A3);COLUMN(A3);4) & ":" & ADDRESS(ROW(A3)-1+$H$2;COLUMN(A3);4)
- Ячейка K2 (Nr уникального диапазона дней недели):
=ADDRESS(ROW(E3);COLUMN(E3);4) & ":" & ADDRESS(ROW(E3)-1+$H$2;COLUMN(E3);4)
- Ячейка Н5 (счетчик):
1
- Ячейка Н6: Н100
=H5+1
- Ячейка I5: I100 (позиция):
=MATCH(H5;INDIRECT($K$2);0)
- Ячейка J5: J100 (день недели):
=OFFSET($A$3;I5-1;0)
- Ячейка К5: К100 (Количество):
=COUNTIF(INDIRECT($J$2);J5)
Конечный результат находится в диапазоне K5: K100.
Обратите внимание, что хотя я работаю с косвенными формулами, решение будет работать, если вы вставите столбец в любом месте или удалите столбец F: F из G: G. Вы также можете перемещать ячейки, если вы храните столбцы с данными вместе.
Важно хранить все в одном листе. Если вы настаиваете на переносе таблицы H4: K100 на другой лист, вам следует изменить адреса в ячейках J2 и K2, чтобы они включали имя листа.