TEILERGEBNIS() und AGGREGAT() ...
04.05.2020 11:42:44
neopa
... ein Excelfreund hatte mich um Hilfe zu Auswertungen aus einer Datenliste (intelligente Tabelle mit dem benannten Namen: tabArt) gebeten. Die vorhandene Datenstruktur sowie gegebenen Bedingungen hab ich nachfolgend in stark vereinfachte Form wiedergeben.
Meine zunächst erstellte Lösungsformel (untenstehend In A5, diese nach unten und in Spalte B kopiert) hatte ihm zunächst auch geholfen.
Doch kurze Zeit später konfrontierte er mich mit dem Problem, dass er nun keine gewünschte Auswertung der Spalte B - Zahlenwerte (dazu siehe auch Spalte E) vornehmen könnte. Denn er wollte die ermittelten Ergebniswerte nachträglich filtern können (z.B. über Spalte D) und dafür die Summe der Werte in Spalte B ermitteln.
Die TEILERGEBNIS()-Formel in F1 ergibt dafür jedoch immer nur 0, während dagegen die in F2 einen korrekten Wert ergibt. Und dies obwohl die damit auszuwertenden Werte auf den Daten der Spalte B basieren.
Habe ihm nach längerer Problemursachensuche vorgeschlagen, die Auswertung nicht mit TEILERGEBNIS() sondern auch mit AGGREGAT() vorzunehmen. Dazu siehe Formel E1. Auf diese bin ich auch niht gleich gekommen, denn sie Ist meine erste Formel, wo ich als 2. Argument der Funktion die 5 benötige.
Jedoch hab ich bis jetzt noch keine andere plausible Begründung für das falsche Ergebnis in F1 gefunden, als das TEILERGEBNIS() ein Problem mit einer direkter Auswertung von AGGREGAT()-Formelergebnissen hat. Was insofern verständlich ist, als dass es zu Zeiten der Entwicklung noch keine AGGREGAT() - Funktion gab.
Hier nun die vereinfachte Wiedergabe, der Daten und Formeln:
Arbeitsblatt mit dem Namen 'Tabelle1' | ||||||||||
A | B | C | D | E | F | G | H | I | J | |
1 | Art: | 25 | 0 | |||||||
2 | A | 62,5 | 62,5 | Art | Art_Nr | St | ||||
3 | A | A_01 | 5 | |||||||
4 | Art_Nr | Stück | Sonst | Filter | A | A_02 | 6 | |||
5 | A_01 | 5 | 12,5 | x | WAHR | A | A_03 | 3 | ||
6 | A_02 | 6 | 15,0 | WAHR | B | B_01 | 2 | |||
7 | A_03 | 3 | 7,5 | x | WAHR | B | B_02 | 7 | ||
8 | A_04 | 5 | 12,5 | x | WAHR | C | C_01 | 11 | ||
9 | A_05 | 6 | 15,0 | WAHR | B | B_03 | 4 | |||
10 | B | B_04 | 6 | |||||||
11 | A | A_04 | 5 | |||||||
12 | A | A_05 | 6 | |||||||
13 |
Zelle | Formel |
E1 | =AGGREGAT(9;5;B5:B99) |
F1 | =TEILERGEBNIS(9;B5:B99) |
E2 | =AGGREGAT(9;5;C5:C99) |
F2 | =TEILERGEBNIS(9;C5:C99) |
A5 | =WENNFEHLER(INDEX(tab_Art;AGGREGAT(15;6;(ZEILE(tab_Art[Art_Nr])-ZEILE(tab_Art[#Kopfzeilen]))/(INDEX(tab_Art;;1)=$A$2);ZEILE()-ZEILE(A$4));SPALTE(B5));"") |
B5 | =WENNFEHLER(INDEX(tab_Art;AGGREGAT(15;6;(ZEILE(tab_Art[St])-ZEILE(tab_Art[#Kopfzeilen]))/(INDEX(tab_Art;;1)=$A$2);ZEILE()-ZEILE(B$4));SPALTE(C5));"") |
C5 | =B5*2+50%*B5 |
E5 | =ISTZAHL(B5) |
Zelle | Gültigkeitstyp | Operator | Wert1 | Wert2 |
A2 | Liste | A;B;C |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Gruß Werner
.. , - ...