Excel: Zlicz różne dni danych


1

Mam kolumnę z datami różnych dni z różnymi czasami i chcę wiedzieć, ile różnych dni jest w tej kolumnie. Mam to do pracy w OpenOffice w systemie angielskim, ale nie działa już w systemie włoskim lub niemieckim z Microsoft Excel:

=SUMPRODUCT((IF(FREQUENCY(DATEVALUE(MONTH(A1:A9)&"/"&DAY(A1:A9)&"/"&YEAR(A1:A9)),DATEVALUE(MONTH(A1:A9)&"/"&DAY(A1:A9)&"/"&YEAR(A1:A9))),TRUE())>0)*(MONTH(A1:A9)=6))

I tak wygląda moja kolumna

2016-06-29 19:50:00
2016-06-29 20:00:00
2016-06-29 11:34:00
2016-06-29 11:34:24
2016-06-29 12:33:29
2016-06-29 20:47:00
2016-06-30 11:46:46
2016-07-01 13:11:55
2016-07-01 13:12:26

Dla tych wartości oczekiwałbym, że formuła zwróci 3, ponieważ istnieją 3 różne dni.

Na koniec chciałbym zmienić formułę, aby móc ją filtrować według miesięcy - abym mógł powiedzieć: „daj mi liczbę różnych dat w czerwcu” i powróci 2.

Odpowiedzi:


1

Nie mogłem dostać twojej formuły do ​​pracy w Excel English.

Ta formuła powinna działać w programie Excel (może być konieczne przetłumaczenie na odpowiedni język):

=SUM(--(FREQUENCY(IF(MONTH(A1:A9)=6,MATCH(INT($A$1:$A$9),INT($A$1:$A$9),0)),ROW($A$1:$A$9)-ROW($A$1)+1)>0))

Jest to formuła tablicowa, która musi zostać potwierdzona za pomocą Ctrl-Shift-Enter zamiast Enter podczas wyjścia z trybu edycji. Jeśli zostanie to zrobione poprawnie, Excel umieści {} wokół wzoru.

enter image description here


1

Oto prosty sposób na określenie liczby dla określonego warunku. Umieściłem twój przykład w skoroszycie i napisałem formułę, aby policzyć, ile zdarzeń z miesiącem 6 w nich:

enter image description here

Użyta przeze mnie formuła używa odwołania do tablicy, dlatego ma wokół siebie nawiasy klamrowe. Po wprowadzeniu formuły naciśnij Przesunięcie + Wchodzić zamiast po prostu Wchodzić samodzielnie.

Instrukcja if mówi, że jeśli miesiąc = 6, to zwraca 1, a jeśli nie 0. Następnie sumuje sumy z funkcją sumy. Jeśli chcesz zmienić go na rok, po prostu zmień część formuły MONTH ().

Zauważ także, jak czysta i prosta jest moja formuła, która jest dużo łatwiejsza do naśladowania


SUMPRODUCT((MONTH($A$1:$A$9)=6)*1) działa również bez potrzeby CSE. Również krótka uwaga: Ponieważ obliczenia formuł Array są wykładnicze, należy unikać pełnych odniesień do kolumn. Formuła będzie nadal sprawdzać każdą komórkę w kolumnie i dodać 0 do tablicy, która zostanie przekazana do formuły SUM. To nie będzie miało dużego wpływu na tę jedną formułę, ale wypełni kilkaset i spowoduje opóźnienie i możliwe przepełnienie pamięci.
Scott Craner

Oczywiście rozumiem ryzyko związane z wydajnością, ale chciałem, aby przykład był prosty, aby PO mógł przynajmniej zrozumieć koncepcję.
Eric F

Czy będzie to działać w środowisku niemieckim i włoskim?
Máté Juhász

@ MátéJuhász Yep.
Eric F

Chociaż myślę, że PO chce odpowiedzi 2 która jest liczbą unikalnych dni w 6 miesiącu. I want to know how many different days are in that column.
Scott Craner

1

Posłużyłem się kolumną pomocnika Tak jak w górnej części, twoje dane są w A1 do A9

w użyciu B1

=DATE(YEAR(A1),MONTH(A1),DAY(A1))

Spowoduje to konwersję danych na datę (usunięcie czasu)

w C1 użyj tego

=IF(COUNTIF($B$1:B1,B1)>1,2,1)

Spowoduje to umieszczenie 1 przy pierwszym wystąpieniu daty i 2 przy drugim

Wreszcie możesz policzyć 1, używając

=COUNTIF(C1:C9,1)

pozdrowienia

enter image description here

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.