Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte aus Matrix ziehen und mehr...

Werte aus Matrix ziehen und mehr...
25.06.2021 16:56:32
Sven
Hallo zusammen,
ich habe einen für mich recht komplexen Fall zu lösen und hoffe auf eure Unterstützung; deshalb auch eine Beispieldatei hochgeladen:
https://www.herber.de/bbs/user/146802.xlsx
Kurz erklärt, worum es geht:
Blatt 1 Zusammenfassung
Es wird ein Typ und ein Monat, jeweils über ein Drop-Down-Menü/Listenfeld aus dem Blatt Datenbank, ausgewählt. Nun sollen die dazugehörigen Kosten (Blatt Kosten) und die Zeiten (Blatt Zeiten) addiert und in diesem Blatt dargestellt werden.
Das Blatt hat voraussichtlich 100 Zeilen bzw. unterschiedliche Namen!
Blatt 2 Zeiten
Aufstellung an Zeiten (Arbeitsstunden). Es wird eine Formel gesucht, die den Text in Spalte C mit Blatt "Datenbank" abgleicht und das danebenstehende Ergebnis in Spalte D ausgibt, damit dies in Blatt 1 dargestellt werden kann.
Das Blatt hat voraussichtlich 30.000 Zeilen!
Blatt 3 Kosten
Aufstellung an Kosten (Rechnung). Es wird eine Formel gesucht, die den Text in Spalte C mit Blatt "Datenbank" abgleicht und das danebenstehende Ergebnis in Spalte D ausgibt, damit dies in Blatt 1 dargestellt werden kann.
Das Blatt hat voraussichtlich 10.000 Zeilen!
Blatt 4 Datenbank
Die Basis für Drop-Down und Typen.
Ich hoffe, die Frage ist verständlich vorbereitet und jemand kann mir helfen. Im Vorfeld besten Dank!!!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: u.a. mit SUMMEWENNS() ...
25.06.2021 17:19:04
neopa
Hallo Sven,
... für Teil1 in B3: =SUMMEWENNS(Kosten!E:E;Kosten!A:A;B1;Kosten!D:D;A1)
und in B6: =SUMMEWENNS(Zeiten!E:E;Kosten!A:A;B$1;Kosten!D:D;A$1;Zeiten!B:B;A6) und diese nach B7 kopieren.
Und für Teil2 in Zeiten!D2 wie auch in Kosten"D2:
=WENNFEHLER(INDEX(Datenbank!C:C;AGGREGAT(15;6;ZEILE(A$2:A$9)/FINDEN(Datenbank!C$2:C$9;C2)^0;1))&"";"")
und nach unten kopieren.
Gruß Werner
.. , - ...
AW: u.a. mit SUMMEWENNS() ...
29.06.2021 11:01:31
Sven
Hallo Werner,
besten Dank für Deine Hilfe und entschuldige bitte die späte Rückmeldung.
Der erste Teil klappt super. Hier musste ich eine Änderung vornehmen, da sich die Zeiten nicht auf den Monat beziehen dürfen, aber sonst alles top!
Beim zweiten Teil komme ich aber nicht ganz weiter. Für die Mustertabelle klappt dies, aber transferiert auf die "richtige" Tabelle mit mehr Spalten irgendwie nicht. Kannst Du mir die Zusammenhänge erläutern? Also was bedeutet bei AGGREGAT die 15 und 6? Und am Schluss die ^0;1? Ich würde es gerne verstehen

=WENNFEHLER(INDEX(Datenbank!C:C;AGGREGAT(15;6;ZEILE(A$2:A$9)/FINDEN(Datenbank!C$2:C$9;C2)^0;1))&""; "") 

Anzeige
AW: u.a. mit SUMMEWENNS() ...
29.06.2021 11:57:58
Sven
Also einen "Fehler" in der Formel habe ich schon gefunden. Bei FINDEN hätte nicht C, sondern B stehen müssen.
In der Spalte B steht ja der zu durchsuchende Text, in C den Text, den er ausgeben soll. Ist das korrekt?
Die Erklärung zu AGGREGAT habe ich (hoffe ich zumindest), gefunden:
15 = KKLEINSTE
6 = Fehlerwerte ignorieren
Noch mal zur Tabelle und meinem Problem:
Wenn ich dies in der Musterdatei durchspiele, klappt alles:
Im Blatt Kosten oder Zeiten
Spalte C = Bezeichnung mit zu durchsuchendem Textfragment
Spalte D = hier soll der festgelegte Typ ausgegeben werden
Im Blatt Datenbank
Spalte A = 2021/01, also bei allen der selbe Monat
Spalte B = die entsprechenden Textfragmente
Spalte C = der Text, der je nach Textfragment ausgegeben werden soll
Wenn ich das aber in der "richtigen" Tabelle anwende, erhalte ich bei einigen Zeilen das richtige Ergebnis ausgegeben, bei anderen jedoch nicht!?
In der "richtigen" Tabelle sind die Spalten ein wenig anders verschoben:
Im Blatt Zeiten (heißt hier BDE)
Spalte F = Bezeichnung mit zu durchsuchendem Textfragment
Spalte H = hier soll der festgelegte Typ ausgegeben werden
Im Blatt Datenbank
Spalte A = 2021/01, also bei allen der selbe Monat
Spalte B = die entsprechenden Textfragmente
Spalte C = der Text, der je nach Textfragment ausgegeben werden soll. Dieser kann variieren: mal ist es der selbe Text bei unterschiedlichen Suchbegriffen, mal unterschiedlicher
Die Formel, die ich hier nutze, lautet:
=WENNFEHLER(INDEX(Datenbank!$C$2:$C$99999;AGGREGAT(15;6;ZEILE($A$2:$A$99999) /FINDEN(Datenbank!$B$2:$B$99999;F2)^0;1))&"";"")
Ich habe keine Ahnung, woran das liegen kann... Hilft es vielleicht, wenn man auf die Verbindung zum Monat verzichtet. Ich denke, dass braucht man nicht, da die Textfragmente in allen Monaten vorkommen können.
DANKE
Anzeige
AW: dazu nutze die Beispieldatei ...
29.06.2021 13:15:46
neopa
Hallo Sven,
... in dieser verschiebe einfach die entsprechenden Spalten z.B. durch einfügen von Spalten vor den dortigen bis Du die gleiche Spaltenzuordnung hast wie in Deiner Originaldatei. Die Formeln sollten sich dementsprechend anpassen und diese kannst Du dann in Deiner Originaldatei einsetzen.
Gruß Werner
.. , - ...
AW: dazu nutze die Beispieldatei ...
30.06.2021 17:12:14
Sven
Hallo Werner,
es ist sehr seltsam: wenn ich genau die selben Werte händisch schreibe, klappts nicht.
Wenn ich es, wie du vorgeschlagen hast, kopiere, klappt es. Verrückt...
DANKE
AW: wenn dem so ist wie von Dir beschrieben ...
30.06.2021 19:37:11
Dir
Hallo Sven,
... kann Dir nur ein Fehler beim "händisch schreiben" unterlaufen sein. Durch Vergleich solltest Du diesen auch finden. Anderenfalls stell mal die Datei mit der fehlerhaften Formel ein.
Gruß Werner
.. , - ...
Anzeige
AW: das Potenzieren jeder Zahl mit 0 ...
29.06.2021 13:21:24
neopa
Hallo Sven,
... außer einer Zahl 0 ergibt bekanntermaßen stets eine 1.
Und mit FINDEN() wird eine Zahl (Postionstelle) ermittelt, aber für die Funktionalität von AGGREGAT() wird für den Formelteil nur eine 1 oder eben eine Fehlermeldung benötigt um zum gewünschten Ergebnis zu gelangen.
Gruß Werner
.. , - ...
AW: u.a. mit SUMMEWENNS() ...
29.06.2021 15:34:04
Daniel
HI
"Aggregat" ist keine eigenständige Funktion, sondern eine Funktionserweiterung für bereits bestehende Funktionen.
der erste Parameter wählt aus, welche Excelfunktion erweitert werden soll (die 15 steht hier für KKleinste) und der zweite Parameter bestimmt, welche funktionale Erweiterung angewendet werden soll, hiervon gibt drei verschiedene, nämlich:
- andere Aggregatfunktionen ignorieren
- ausgeblendete Zeilen ignorieren
- Fehlerwerte ignorieren
wofür welche Zahl steht, siehst du in der Bubblehelp, die erscheint wenn du die Funktion mal selber eingibst.
diese letzte Funktionalität nutzt man aus, um bestimmte Werte von der Auswertung auszuschließen, in dem man die Werte durch 1 oder 0 teilt.
bei 1 geht der Wert unverändert in die Auswertung ein, bei 0 wird er durch dein Div/0-Fehler ausgeschlossen.
oder man macht es wie hier, dass der Fehler eben durch das FINDEN entsteht.
alternativ zum: Finden(...)^0 könnte man auch IstZahl(Finden(...)) verwenden, welches als Ergebnis WAHR oder FALSCH ausgibt welche als 1 und 0 in Berechnungen gewertet werden.
Gruß Daniel
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige