Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler in Aggegrat-Funktion???

Forumthread: Fehler in Aggegrat-Funktion???

Fehler in Aggegrat-Funktion???
04.11.2024 09:28:32
Uwe Siebers
Guten Morgen zusammen,

zuletzt habe ich hier übers Forum Hilfestellung dazu bekommen, da mich die Funktion S-Verweis nicht weitergebracht hatte. Nun denn. Beim Testen der Aggegrat-Funktion habe ich erst jetzt festgestellt, das diese nicht immer korrekte Werte zurückgibt. Die Daten, um die es geht, finden sich im Tabellenblatt Leistungsverzeichnis. Wähle ich jetzt eine Leistungsnummer aus diesem Katalog aus (Eintrag in Spalte J des Blattes Objekt- & Debitorenverzeichnis) werden in den Spalten K & L nur teilweise korrekte Werte ausgegeben. Die Frage ist hier... warum?

Die Beispieldatei findet sich unter

https://www.herber.de/bbs/user/173364.xlsx

Vielen Dank im Voraus für Eure Hilfe!

Uwe



Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Aggegrat-Funktion???
04.11.2024 09:51:53
Yal
Hallo Uwe,

was begründet diese unnötig komplizierten Formel?
Denk über folgende Vorschlag: im Leistungsverzeichnis sind 6 Spalten vorhanden + eine zusätzliche Information im Kopfbereich (die keine eigene Info, weil diese im ersten Digit vom Leistungscode vorhanden ist). Insgesamt 7 Spalten. Wenn diese 7 Spalten nicht "nebeneinander + Kopfbereich" sondern tatsächlich nur von A bis G übereinander stehen würden, würde ein -sehr- einfachen SVerweis genügen, um eine 100% stabile Lösung zu haben. Es gilt der Prinzip: zuerst die Struktur, dann die Schönheit.

zum Problem selbst:
Du hast eine Formel in Spalte K, die auf Spalte J referiert. Da Du aber diese Referenz nicht fixierst (J5 anstatt $J5), wird aus dem J in Spalte K einen K in Spalte L. Und so wird nach "Pauschal" anstatt "1 01" gesucht (und gefunden).

Eigentlich eine ganze einfache Fehler, die aber aufgrund der komplexe Formel kaum zu entdecken ist.

VG
Yal
Anzeige
AW: nein, sondern in Deiner inkorrekten Formeldefinition ...
04.11.2024 13:57:56
neopa C
Hallo Uwe,

... ich würde hier zwar die AGGREGAT()-Funktion nicht einsetzen, aber um Deine gestellte Frage zu beantworten:
Du hast die Kombination von INDEX() und AGGREGAT() inkorrekt angewendet.
Richtig wäre z.B in K5:
=WENNFEHLER(INDEX(Leistungsverzeichnis!A:AZ;AGGREGAT(15;6;ZEILE(A$5:A$103)/(Leistungsverzeichnis!$A$5:$AZ$103=$J5);1);AGGREGAT(15;6;SPALTE($B1:$AZ1)/(Leistungsverzeichnis!$B$5:$AX$103=$J5)+1;1));"")
Diese kannst Du nach unten und rechts kopieren.

Aber kürzer & einfacher wäre auf jeden Fall die Formel von Luschi, welche ich nachfolgend nur leicht angepaßt habe, damit sie auch nach rechts kopierbar ist.

=SVERWEIS($J5;BEREICH.VERSCHIEBEN(Leistungsverzeichnis!$B$5:$G$103;;(--LINKS($J5)-1)*6);SPALTE(B1);0)

Gruß Werner
.. , - ...
Anzeige
AW: sorry Yal, mein Beitrag ist nicht korrekt zugeordnet owT
04.11.2024 14:01:01
neopa C
Gruß Werner
.. , - ...
AW: Fehler in Aggegrat-Funktion???
04.11.2024 11:31:22
Luschi
Hallo Uwe,

hier mal meine Version, damit der SVerweis zum Einsatz kommen kann_
- dazu wurde der definierte Name 'Bereich_XXX' erstellt
- und per Formel wird dieser so verrückt
- daß der entsprechende Leistungsbereich zum Zuge kommt.

https://www.herber.de/bbs/user/173368.xlsx

Gruß von Luschi
aus klein-Paris
Anzeige
AW: Fehler in Aggegrat-Funktion???
04.11.2024 12:14:10
Yal
Hmm... Ich habe ja übersehen, dass wenn in 1 xx nichts gefunden wurde, die Werte von 1 99 zurückgegeben werden sollten.

Das bekommt man am besten mit XVerweis und "1" als 5te Parameter:
=XVERWEIS($J5;tblLeistung[Leistungsnummer];tblLeistung[Einheit];;1)
=XVERWEIS($J5;tblLeistung[Leistungsnummer];tblLeistung[Leistung];;1)

https://www.herber.de/bbs/user/173370.xlsx

VG
Yal

Anzeige
AW: XVERWEIS() gibt es in XL2016 leider noch nicht owT
04.11.2024 14:02:37
neopa C
Gruß Werner
.. , - ...
AW: Fehler in Aggegrat-Funktion???
04.11.2024 11:31:43
daniel
Hi
da deine Liste Leistungsverzeichnis alle möglichen Positionen sortiert enthält, musst du nichts suchen sondern kannst aus der Leistungsnummer die Position in der Liste direkt berechnen.

dazu dann in diese Formeln:
K5: =INDEX(Leistungsverzeichnis!$B$5:$BC$103;REST($J5;100);(QUOTIENT($J5;100)-1)*6+2)
L5: =INDEX(Leistungsverzeichnis!$B$5:$BC$103;REST($J5;100);(QUOTIENT($J5;100)-1)*6+3)

Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige