Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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

Spalten einer Pivot Tabelle vergleichen

Spalten einer Pivot Tabelle vergleichen
29.01.2020 12:56:59
Steve
Guten Tag,
Ich habe eine Pivot-Tabelle aus Sets (Spalten) und deren Artikelinhalt (Zeilen) erstellt. Jetzt möchte ich gerne herausbekommen, ob es Sets gibt, die die gleichen Artikel enthalten (z.B. hier Set 2 und 4) bzw. idealerweise wie hoch die Übereinstimmung zwischen zwei Sets ist (z.B. bei Set 2 und 4 100%, bei Set 1 und 3 40%).
Ich habe es schon mit Summenprodukt probiert, da bekomme ich aber nur die Anzahl der gleichen Felder, nicht die Anzahl der Artikel heraus, d.h. ein belegtes Feld mit einer 1 oder 2 wird gleich gezählt.
Danke für Eure Hilfe!
________set 1__set 2__set 3__set 4
artikel 1___1______1___________1
artikel 2___2____________1_____
artikel 3__________2___________2
artikel 4___1____________1_____
artikel 5___1____________1_____
Gesamt___5______3_____3_____3

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

Betreff
Datum
Anwender
Anzeige
AW: was genau willst Du ermitteln? ...
30.01.2020 16:29:18
neopa
Hallo Steve,
.. Du solltest mal (D)eine Beispieldatei hier hochladen und für diese zumindest für 3 Artikel Deine angestrebten (händisch ermittelten) Zielergebniswerte mit auflisten. Dann sehen wir weiter.
Gruß Werner
.. , - ...
AW: was genau willst Du ermitteln? ...
03.02.2020 11:12:33
Steve
Guten Tag,
ich habe eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/134948.xlsx
Ich hoffe, damit wird die Fragestellung klarer.
Danke & Gruß
Steve
AW: was genau willst Du ermitteln? ...
03.02.2020 11:21:50
Steve
Sorry, Korrektur.
Hier eine Beispieldatei inkl. der gewünschten Ergebnisse.
https://www.herber.de/bbs/user/134950.xlsx
Danke & Gruß
Steve
Anzeige
AW: dann z.B. mit SUMMENPRODUKT() und MMULT() ...
03.02.2020 14:31:56
neopa
Hallo Steve,
... in C10 (mit Format: %)

=SUMMENPRODUKT(MMULT((B$2:E$6&gt0)*(B$1:E$1=LINKS(A10;5));{1;1;1;1})*MMULT((B$2:E$6&gt0) *(B$1:E$1=RECHTS(A10;5));{1;1;1;1}))/SUMMENPRODUKT(N(MMULT((B$2:E$6&gt0)*(B$1:E$1=LINKS(A10;5));{1;1; 1;1})+MMULT((B$2:E$6&gt0)*(B$1:E$1=RECHTS(A10;5));{1;1;1;1})&gt0))

und Formel nach unten kopieren.
Gruß Werner
.. , - ...
AW: dann z.B. mit SUMMENPRODUKT() und MMULT() ...
04.02.2020 09:18:01
Steve
Hallo Werner,
vielen Dank für diese Wahnsinnsformel. Hammer!
In meiner Beispieldatei hat es sofort funktioniert. Die Übertragung in die eigentliche Arbeitsdatei hat etwas Hirnschmalz erfordert, dort habe ich 600 Spalten mit knapp 300 Zeilen zu vergleichen. Die Sets haben auch Nummern in Zahlenformat, die musste ich in Text umwandeln, damit die Formel wieder funktionierte. Und, wie es aussieht muss ich viele ;1 einfügen.
Wäre es auch möglich, statt set 1 vs. set 2 mit LINKS und RECHTS aus A10 auszulesen die Setnummern in zwei Spalten (set 1: 8850008 Spalte A10, set 2: 8850009 Spalte B10) anzugeben und zu referenzieren?
Vielen Dank für die Hilfe. Genial!
Gruß
Steve
Anzeige
AW: dankeschön ...
04.02.2020 09:53:25
neopa
Hallo Steve,
... und zu Deiner Frage: Natürlich ist auch das möglich und in Text musst diese Zahlenwerte deshalb auch nicht wandeln. Dazu siehe unten. Dort hab ich Dir auch aufgezeigt, wie Du Dir die Eingabe von vielen "1;" sparen kannst. Du musst lediglich die Anzahl der auszuwertenden Spalten durch einem entsprechend großen Zeilenbereich ersetzen. Die Potenzierung mit 0 erzeugt dann die 1en.
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEF
1 8850008885000988500108850011 
2x123411 1 
3y23452 1  
445678 2 2 
52468a1 1  
6135791 1  
7Gesamt5333 
8      
9Ergebnis     
108850008885000920%   
118850008885001075%   
128850008885001120%   
13885000988500100%   
1488500098850011100%   
15885001088500110%   
16      

ZelleFormel
C10=SUMMENPRODUKT(MMULT((B$2:E$6&gt0)*(B$1:E$1=A10);ZEILE(A1:A4)^0)*MMULT((B$2:E$6&gt0)*(B$1:E$1=B10);ZEILE(A1:A4)^0))/SUMMENPRODUKT(N(MMULT((B$2:E$6&gt0)*(B$1:E$1=A10);ZEILE(A1:A4)^0)+MMULT((B$2:E$6&gt0)*(B$1:E$1=B10);ZEILE(A1:A4)^0)&gt0))
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
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
.. , - ...
Anzeige
AW: dankeschön ...
04.02.2020 17:44:52
Steve
Hallo Werner,
vielen Dank für die weitere Optimierung der Formel. Beeindruckend.
Da die Formel nun weit mein Excel-Verständnis übersteigt, hat die Anpassung an meine große Tabelle ein wenig gedauert. Mir ist dabei aufgefallen, dass einige Setnamen auch noch Buchstaben enthalten, dies hat dann die Formel gestört. Sorry, dass ich das in meiner Anfrage nicht berücksichtigt habe. Man muss halt richtig wünschen ;-)
Auch nimmt es die Formel mit der Anzahl Spalten und Zeilen genau.
Mit reinen Zahlen als Setnamen funktioniert die Formel wunderbar. Die paar Kombinamen werde ich für die Übung abändern, dann passt das Ergebnis.
Super, dass ich mit der Kopie der Formel meine Aufgabe lösen kann, herleiten werde ich sie nicht können. Ich werde mal versuchen, mir MMULT zu erschließen.
Also herzlichen Dank an den Excel Wizzard!
Viele Grüße
Steve
Anzeige
AW: bitteschön ...
04.02.2020 18:54:07
neopa
Hallo Steve,
... der Formel ist es egal, ob es reine Zahlenwerte oder Textwerte sind. Einzig vorausgesetzt wird, das in Zeile 1 die gleichen Werte im gleichen Format stehen wie (im Beispiel) in A10:B15
Man könnte jedoch noch eine kleine Erweiterung (einfach mit &"") in die Formel einbauen, dass reinen Zahlenwerte als "set" in Textwerte in beiden Bereichen gewandelt werden und diese verglichen werden.
Und ja, die auszuwertende Spaltenanzahl muss identisch sein mit dem identische dem Anzahl der Zeilen in ZEILE(A#:A##)^0. Das ist für MMULT() eine generelle Voraussetzung. Eine weitere wäre, dass keine Leerzelle als Wert ausgewertet werden kann. Dies ist aber hier nicht relevant, weil die Argumente für MMULT() nicht durch Zellwerte sondern durch vergleichende Formeln ermittelt werden und somit immer nur 0 oder 1 sind.
Gruß Werner
.. , - ...
Anzeige

163 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige