Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ZÄHLENWENN aber nicht doppelt für gleiches Datum
#11
Otto N. hat ja auch nur seine CD-Sammlung. Dann bin ich bei Dir, Bosko.

Mein PVT ist so lang, weil die Daten in ihrer korrigierten Position nur noch einmal pro Fragestellung überflogen werden. Und sie beantwortet halt gleich alle Fragestellungen. Eine Erweiterung kommt übrigens im neuen Jahr. Findet bislang nur im Kopf statt. Was soll ich einbauen, was soll ich weglassen ...

Außerdem muss man die Funktion wie eine Excel-Funktion oder ein UDF behandeln, nämlich abspeichern. Das Tolle ist: Sie kann keinen Unfug anrichten, wie es VBA leider könnte.

Ab dann muss man sie nicht mehr verstehen (natürlich aber: dokumentieren). Wir wissen ja auch nicht, wie PIVOTDATENZUORDNEN oder HÄUFIGKEIT intern funktioniert. Wir verwenden sie einfach nur.

Ich habe übrigens die Position der Minimumtemperatur auch zur Verfügung (in der zweiten Ausgabespalte):
Wird noch korrigiert nachgeliefert.

           Pos  Min1 Mittel_1 N1 Mittel_2 N2 
01.01.2003   1  -6,3 -0,72083 48 -3,41071 28
04.01.2003 145  -4,4 -2,04583 48 -2,77000 40
05.01.2003 193  -7,2 -4,97083 48 -4,97083 48
06.01.2003 241  -6,4 -4,46875 48 -4,46875 48
07.01.2003 289 -13,3 -9,58750 48 -9,58750 48

=SPALTENWAHL(LET(zz;A2:C4321;
xx;PVT(SPALTENWAHL(zz;{1.3});{1.2.8.7.4});
yy;PVT(SPALTENWAHL(FILTER(zz;INDEX(zz;;3)<0);{1.3});{1.8.7.4});
HSTAPELN(FILTER(xx;INDEX(xx;;3)<0);FILTER(yy;INDEX(yy;;2)<0)));{1.2.3.4.5.8.9})


Das liefert PIVOT im Standard nicht, denn es gibt nur Werte, nicht deren Position aus.

Dabei ist mir aufgefallen, dass die Daten des TE falsch sind:

01.01.2003 23:30
01.01.2003 24:00
02.01.2003 00:30

muss richtig heißen

01.01.2003 23:30
02.01.2003 00:00
02.01.2003 00:30

Deshalb stimmen die ausgeworfenen Positionen (z.B. die letzte richtig rel. Zeile 3849 statt falsch 3841) und manchmal vermutlich auch die zugeordneten Minimumtemperaturen nicht . Das ist nicht die Schuld von PVT. Im Gegenteil: PVT hat mich auf diesen Fehler erst aufmerksam gemacht. 
EDIT: PVT zeigt es auch falsch an, Korrektur der Formel folgt später.
Antworten Top
#12
Moin Edgar!
(26.12.2022, 11:51)BoskoBiati schrieb: Spillbare Formeln mögen zwar das Erstellen einer Auswertung vereinfachen, aber dafür ist der Aufwand zum Konstruieren der Formel deutlich höher.
Veto! Wink
Wenn ich mir die Variante von Excelformeln für den Spezialflter ohne Duplikate so anschaue:
Für Spalte A
in C1: {=INDEX(A:A;VERGLEICH(WAHR;A1:A99<>"";0))}
ab C2: {=WENNFEHLER(INDEX(A:A;VERGLEICH(1;(ZÄHLENWENN(C$1:C1;A$1:A$99)=0)*(A$1:A$99<>"");0));"")}
ab, weil man sie so weit runterziehen muss wie man Treffer erwartet.
Da finde ich folgendes "irgendwie" einfacher
B1: Die Überschrift
B2: =EINDEUTIG(A2:INDEX(A:A;ANZAHL2(A:A)))

Adaptiert man diese Dynamik auf die "alten" Formeln, kommt folgendes dabei heraus:
C1: Die Überschrift
C2: {=INDEX(A2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(WAHR;A2:INDEX(A:A;ANZAHL2(A:A))<>"";0))}
ab C3: {=WENNFEHLER(INDEX(A$2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(1;(ZÄHLENWENN(B$2:B2;A$2:A$99)=0)*(A$2:INDEX(A:A;ANZAHL2(A:A))<>"");0));"")}

Jetzt schätze mal, an welcher Formel ich länger gesessen habe …  21

ABC
1ÜberschriftÜberschriftÜberschrift
2444
3333
4411
54
61
71
83
93
101
111

ZelleFormel
B2=EINDEUTIG(A2:INDEX(A:A;ANZAHL2(A:A)))
C2{=INDEX(A2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(WAHR;A2:INDEX(A:A;ANZAHL2(A:A))<>"";0))}
C3{=WENNFEHLER(INDEX(A$2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(1;(ZÄHLENWENN(C$2:C2;A$2:A$99)=0)*(A$2:INDEX(A:A;ANZAHL2(A:A))<>"");0));"")}
C4{=WENNFEHLER(INDEX(A$2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(1;(ZÄHLENWENN(C$2:C3;A$2:A$99)=0)*(A$2:INDEX(A:A;ANZAHL2(A:A))<>"");0));"")}
C5{=WENNFEHLER(INDEX(A$2:INDEX(A:A;ANZAHL2(A:A));VERGLEICH(1;(ZÄHLENWENN(C$2:C4;A$2:A$99)=0)*(A$2:INDEX(A:A;ANZAHL2(A:A))<>"");0));"")}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.

Und wenn man sich jetzt LET() betrachtet:
Es ist einfach toll, wie man Gleichgssysteme innerhalb einer Formel ohne Hilfszellen abbilden kann.
Der ehemalige Leitsatz, dass man in komplexen Formeln besser Hilfszellen verwendet, vor allem, wenn man die Zwischenergebnisse mehrfach benötigt, stimmt jetzt schlicht nicht mehr!

Vielleicht fällt mir das auch nur deshalb leichter, weil ich mit VBA angefangen hatte (vor längerer Zeit).
Dort ist die Verwendung von Variablen Usus.

Ist aber auch nur meine Meinung! Wink

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#13
Moin,

ich würde eine weitere Formel vorschlagen, wenn ich TE richtig verstanden habe. Allerdings liefert diese recht wohl häufig andere Ergebnisse, als die
vorangegangenen Formeln in diesem Thread. Bspw. für den 08.01.2003, wo ich -13,7 und nicht -13,8 erhalte (Basis = Originaldatei vom Autor).
Bin davon ausgegangen, dass 24:00 als 00:00, also dem Start des Tages, interpretiert wird.

PHP-Code:
=LET(Data;$A$2:$C$4321;
 
vnSort;SORTIERENNACH(Data;INDEX(Data;0;1);1;WENN(INDEX(Data;0;2)<1;INDEX(Data;0;2);0);1);
 
vnFilter;FILTER(vnSort;INDEX(vnSort;0;3)<0;0);
 
vnCompare;VERGLEICH(EINDEUTIG(INDEX(vnFilter;0;1));INDEX(vnFilter;0;1);0);
 
INDEX(vnFilter;vnCompare;{1.3})) 

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste