Zusammenfügen von zwei Tabellen für SOLL-IST Vergleich
#1
Hallo zusammen, ich versuche nun eine kleine Ewigkeit einen SOLL-IST-Vergleich zu erstellen. Im Prinzip sollen die Daten der ersten beiden Spalten übereinandergelegt werden und eine neue Spalte (Differenz) mit den Unterschieden als auch mit den Gemeinsamkeiten angezeigt werden. Weiß jemand wie ich auf dieses Ergebnis komme?
Vielen Dank schonmal


Angehängte Dateien
.xlsx   SOLL-IST.xlsx (Größe: 10,61 KB / Downloads: 22)
Antworten Top
#2
Hallo KathaDD,

wenn's händisch geht, ganz einfach:
  • die Werte aus Spalten A und B in das neue Blatt kopieren.
  • die Werte aus Spalte E und F ins neue Blatt unter die ersten Werte kopieren.
  • dann im neuen Blatt die beiden Spalten markieren und mit Daten -> Datentools -> Duplikate entfernen alle doppelten Sätze entfernen.
  • jetzt mit SUMMEWENNS die Soll-Werte hinter den Datensätzen "addieren" (da jeder Satz nur einmal vorkommt ist das wie SVerweis etc.).
  • Genause mit den Ist-Werten und dann die Differenz bilden.

Gruß,
Lutz
Antworten Top
#3
Moin,

da ja Lisa z. Bsp. Wasser und Spielzeug im IST verkauft aber das im SOLL nicht vermerkt ist, wirst Du, wenn es so wie in Deinem Beispielergebnis werden soll, das auch händisch machen müssen. Über einen Join geht es jedenfalls nicht.
Dazu müsste im SOLL für das Bsp. Lisa vermerkt werden, dass sie je 0 Möbel und Spielzeuge Einkaufen muss. Bei allen anderen fehlenden Einträgen das Gleiche.
Die Crux bei Deiner Aufstellung ist, dass Du etwas vergleichen willst, dass nicht vorhanden und somit nicht vergleichbar ist.
Ansonsten ginge das mit PQ zu lösen.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#4
Hallo Kata,

mit einem Makro ließe sich das ohne Probleme lösen, darf es so etwas sein? Dazu müsste man aber den genauen Aufbau der Datei kennen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#5
Mit Power Query sind es nur ein paar Musklicks. Für die Darstellung des Ergebnisses habe ich jedoch Pivot Tabelle gewählt, da sich so die Gruppierung per Mausklick nach belieben anpassen lässt.

Zitat:Die Crux bei Deiner Aufstellung ist, dass Du etwas vergleichen willst, dass nicht vorhanden und somit nicht vergleichbar ist.

@Ralf - Das ist keine Crux sondern Standard bei Soll-/Ist-Vergleichen. Denn je detaillierte du planst, umso größer ist die Wahrscheinlichkeit dass es nur Soll oder nur Ist gibt. Z.B. Kartoffeln und Apfel werden nach Sorten geplant, auf der Aggreationsebenbe Kartoffeln und Äpfel kann dann das Soll durchaus sehr genau erreicht werden, aber auf der darunterliegenden Ebene der Sorten gibt es i.d.R. große Abweichungen.

Somit ist dein "Ansonsten" keine Einschränkung.


Angehängte Dateien
.xlsx   cef - Zusammenfügen von zwei Tabellen für Soll-Ist Vergleich (PQ).xlsx (Größe: 24,56 KB / Downloads: 8)
[-] Folgende(r) 1 Nutzer sagt Danke an ws-53 für diesen Beitrag:
  • Ralf A
Antworten Top
#6
Zitat:wenn's händisch geht, ganz einfach: ...

@Lutz - Wenn wir es wirklich schaffen sollten die Bürokratie abzubauen und tatsächlich am Ende Arbeitszeit eingespart werden kann, dann wird diese durch uneffektive Vorschläge wieder vollständig verplempert!
Antworten Top
#7
Hallo,

anbei eine wohl mögliche Formellösung, wenn ich mich nicht verrechnet habe ...

PHP-Code:
=LET(vnSoll$A$3:$C$16
     vnIst$E$3:$G$14
     vnMatrixVSTAPELN(HSTAPELN(SEQUENZ(ZEILEN(vnSoll); 110); ERWEITERN(vnSollZEILEN(vnSoll); 40)); 
               HSTAPELN(SEQUENZ(ZEILEN(vnIst); 120); SPALTENWAHL(ERWEITERN(vnIstZEILEN(vnIst); 40); {1.2.4.3}))); 
     vnRowsSEQUENZ(ZEILEN(vnMatrix); 110) * SEQUENZ(1SPALTEN(vnMatrix)); 
     vnColumnsSEQUENZ(ZEILEN(vnMatrix)) * SEQUENZ(1SPALTEN(vnMatrix); 10); 
     vnKeysINDEX(vnMatrix02) & INDEX(vnMatrix03); 
     vnSearchINDEX(vnMatrix01) & vnKeys
     vnMapWEGLASSEN(MAP(vnMatrixvnRowsvnColumnsLAMBDA(A;X;Y
            LET(UINDEX(vnMatrixY2) & INDEX(vnMatrixY3); 
                VINDEX(vnMatrixY1); 
                   WAHL(XAAA
                   WENN(<> 1WENNFEHLER(INDEX(vnMatrixVERGLEICH("1" UvnSearch0); 5); 0); A); 
                   WENN(<> 2WENNFEHLER(INDEX(vnMatrixVERGLEICH("2" UvnSearch0); 5); 0); A))))); 01); 
     vnUniquesZEILENWAHL(vnMapVERGLEICH(EINDEUTIG(vnKeys); INDEX(vnMap01) & INDEX(vnMap02); 0)); 
     vnSortSORTIERENNACH(vnUniquesINDEX(vnUniques01); 1INDEX(vnUniques02); 1); 
     HSTAPELN(vnSortINDEX(vnSort03) - INDEX(vnSort04))) 

Die Formel erstellt die Matrix vnMatrix aus beiden Tabellen SOLL und IST. Dabei werden beide Tabellen um Spalten erweitert.
Einmal vorne mit der Tabellennummer und hinten 2 Spalten für die Soll- und Ist-Werte. vnRows und vnColumns erstellen je
eine Matrix mit Positionswerten (Zeilen- und Spaltennummern) zur Übergabe an MAP. vnKey und vnSearch sind Schlüssel.
vnMap geht dann alle Werte in vnMatrix durch und setzt die Werte. Danach braucht man nur noch die Doppler entfernen,
was die Reihenfole Soll-Ist beachten. Abschließend wird sortiert und die Differenz drangehängt.

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
#8
Hallo KathaDD,

da du Excel365 hast, habe ich dir 2 Formeln erstellt:

in Zelle O2 (mit momentanen Resultatbereich O2:S25):
PHP-Code:
=LET(tbSoll$A$3:$C$16tbIst$E$3:$G$15tbErgVSTAPELN(ERWEITERN(tbSoll; ; 40); HSTAPELN(ERWEITERN(SPALTENWAHL(tbIst12); ; 30); INDEX(tbIst; ; 3))); tbErgDHSTAPELN(tbErgNACHZEILE(tbErgLAMBDA(zlINDEX(zl3) - INDEX(zl4)))); grGRUPPIERENNACH(SPALTENWAHL(tbErgD12); SPALTENWAHL(tbErgD345); SUMME02; ; ); VSTAPELN({"Name"."Einkauf"."Soll"."Ist"."Differenz"}; gr)) 
Hier erfolgt eine Gruppierung nach den Spalten Name/Einkauf (mit Zwischensummen).

in Zelle U2 (mit momentanen Resultatbereich U2:Y31):
PHP-Code:
=LET(tbSoll$A$3:$C$16tbIst$E$3:$G$15tbErgVSTAPELN(ERWEITERN(tbSoll; ; 40); HSTAPELN(ERWEITERN(SPALTENWAHL(tbIst12); ; 30); INDEX(tbIst; ; 3))); tbErgESPALTENWAHL(tbErg2134); tbErgDHSTAPELN(tbErgENACHZEILE(tbErgELAMBDA(zlINDEX(zl3) - INDEX(zl4)))); grGRUPPIERENNACH(SPALTENWAHL(tbErgD12); SPALTENWAHL(tbErgD345); SUMME021); VSTAPELN({"Einkauf"."Name"."Soll"."Ist"."Differenz"}; gr)) 
Hier erfolgt eine Gruppierung nach Einkauf/Name (ebenfalls mit Zwischensummen).

Beide Resultatbereiche habe ich mit 2 bedingten Formatierungen unterlegt (für die Hauptgruppierung und die Summenzeilen).

Bei beiden Formeln werden die Tabellenbereiche (A3:C16 bzw. E3:G15) an die Variablen tbSoll bzw. tbIst übergeben.
Falls du bereits über die Funktion ABSCHNBEREICH(...) verfügst, kannst du die Größe dieser Tabellenbereiche auch dynamisch gestalten durch die Eingabe eines zusätzlichen Punktes nach dem Doppelpunkt: A3:.C99 bzw. E3:.G99
Dieser zusätzliche Punkt bewirkt, dass jeder der Bereiche von seinem Ende her auf Dateninhalt getestet wird und nur der Bereich mit Daten verwendet wird (im vorliegendem Fall also A3:C16 bzw. E3:G15).


Angehängte Dateien
.xlsx   KathaDD_SOLL-IST.xlsx (Größe: 17,74 KB / Downloads: 4)
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top
#9
Zitat:anbei eine wohl mögliche Formellösung,

Die Werte stimmen. Aber das ist vom Aufwand in etwa so, als würde ich Samstags den Gehweg mit einer Zahnbürste kehren wollen.

Aber vllt. wir ja durch die neue Regierung so viel Bürokratie abgebaut, dass so der zeitliche Leerlauf ausgeglichen werden kann.
Antworten Top
#10
Moin,

@ws-53, Danke. Was den Aufwand betrifft, sehe ich das etwas anders, denn man könnte ja bspw. eine LAMBDA draus machen,
weiter verallgemeinern und somit auch wiederverwenden.

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