Excel - Как подсчитать уникальные дни в списке дублированных дней

Имея список дней, таких как:

01-giu-16
01-giu-16
01-giu-16
31-mag-16
31-mag-16
31-mag-16
31-mag-16
30-mag-16

Я искал формулу Excel, которая помогает мне подсчитать количество уникальных дней в списке (в этом примере 3)

Более того, мне нужен счет только для дат, которые имеют определенный идентификатор в следующем столбце (например, 1565)


person Noomak    schedule 10.06.2016    source источник
comment
1-й вопрос, даты хранятся в виде серий даты и времени excel? когда вы меняете формат ячейки на общий, они показывают число вроде 4265? или, если хотите, =isnumber(A1) , где A1 — одна из дат, возвращает ли она true?   -  person Forward Ed    schedule 10.06.2016
comment
Будут ли ваши даты всегда сгруппированы или отсортированы?   -  person Forward Ed    schedule 10.06.2016
comment
не сгруппированный / отсортированный список, и они являются номером ячейки   -  person Noomak    schedule 10.06.2016
comment
Существует большая разница между сортировкой дат, как показано в вашем примере, и сортировкой и подсчетом текста или чисел.   -  person Forward Ed    schedule 10.06.2016


Ответы (2)


Без каких-либо дополнительных критериев вы можете добиться подсчета уникальности, используя

=SUMPRODUCT(1/COUNTIF(A1:A8,A1:A8)), если ваши данные находятся в диапазоне A1:A8.

Для оценки с учетом дополнительных критериев (допустим, они есть в столбце B) используйте

{=SUM(--(FREQUENCY(IF(B1:B8=1565,MATCH(A1:A8,A1:A8,0)),ROW(A1:A8)-ROW(A1)+1)>0))}

Это формула массива: используйте Ctrl + Shift + Return, когда закончите редактирование (и не вводите фигурные скобки самостоятельно). Хотя лично я считаю, что это превышает разумный порог сложности: я был бы склонен принять первый подход к столбцу, который представляет собой промежуточное преобразование ваших входных данных.

person Bathsheba    schedule 10.06.2016

Предположим, что ваши данные находятся в столбце A и имеют строку заголовка. Таким образом, первый номер данных фактически будет в A2. Поместите эту формулу в ячейку B2 и скопируйте рядом со своим списком. Он сгенерирует список уникальных номеров ячеек из столбца A. Когда у вас есть список, вам просто нужно использовать функцию для подсчета сторон.

=iferror(INDEX($A$2:$A$5,MATCH(0,INDEX(COUNTIF($B$1:B1,$A$2:$A$5),0,0),0)),"")

в C2 вы можете использовать следующую формулу, чтобы получить количество уникальных номеров ячеек

=COUNTA(B2:B9)-COUNTIF(B2:B9,"")

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

=IF(B5="","",COUNTIF($A$2:$A$9,B5))
person Forward Ed    schedule 10.06.2016