Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wie viele verschiedene Fahrer hat ein Kunde?

Wie viele verschiedene Fahrer hat ein Kunde?
31.08.2006 13:59:27
Steve
Hallo miteinander
Wäre toll wenn mir jemand mit folgendem Problem helfen könnte:
------------------------------------------------------------------
Spalte A enthält Kunden-Nummern (z.B 23425-23) -- kommen mehrfach vor
Spalte B enthält Lieferanten-Namen (z.B. Max Muster)
Es gibt also immer ein Paar "Kunde - Lieferant" in der Zeile
Jetzt sollte ich wissen: Wie viele verschiedene Lieferanten hat jeder Kunde?
Mit "Spezialfilter" habe ich jetzt mal alle Kunden aufgelistet in Spalte D
In Spalte E sollte jetzt die Anzahl Lieferanten pro Kunde stehen

Die Datei https://www.herber.de/bbs/user/36311.xls wurde aus Datenschutzgründen gelöscht

Vielen herzlichen Dank
Gruss Steve

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie viele verschiedene Fahrer hat ein Kunde?
31.08.2006 14:05:49
c0bRa
hio...
schau dir mal Pivottabellen an :)
Rückmeldung nicht vergessen...
c0bRa
I hacked 127.0.0.1
AW: Wie viele verschiedene Fahrer hat ein Kunde?
31.08.2006 14:20:12
heikoS
Hallo Steve,
hier noch eine Lösung ohne Hilfsspalte:
{=SUMME(--(VERGLEICH($A$2:$A$9&$B$2:$B$9;$A$2:$A$9&$B$2:$B$9;0)=ZEILE($1:$8)*($A$2:$A$9=D2)))}
Matrixformel, Eingabe mit Strg+Umsch+Enter abschließen, dadurch werden die { } erzeugt.
Gruß Heiko
Anzeige
Formel Erklärung
31.08.2006 15:39:39
Steve
Hallo Heiko
Schöne Lösung
Kannst du mir vielleicht diese Formel etwas genauer erläutern? Was bedeuten z.B. die "--" Striche?, was heisst das wenn man einen Bereich gleich einer Zelle setzt? usw...
Das wäre super genial, dann könnte ich das vielleicht ein anderes mal selber bewerkstelligen
Danke + Gruss
Steve
AW: Formel Erklärung
31.08.2006 15:59:17
c0bRa
hio :)
Ich fang mal mit dem -- an...
-- macht nichts anderes als einen boolschen Wert (WAHR oder FALSCH) in 0 oder 1 umzusetzen. In der Formel hier ist das -- eigentlich überflüssig, da eine weitere Rechenoperation auf den bollschen Wert ausgeführt wird.
WAHR * WAHR = 1
WAHR * FALSCH = 0

Andere Möglichkeiten anstelle von -- wären: 1*... oder 0+...
, ist dir sicherlich auch schon in anderen Formeln begegnet. Die Zeile(...) ist eine Art Laufvariable, da man in Excel-Formeln ja nicht so ohne weiteres von 1-8 durchlaufen kann, deswegen das Hilfskonstrukt mit Zeile(A1:A8) (geht nur innerhalb einer Matrixformel, ansonsten liefert die Funktion 1).
Was die Funktion genau macht verschließt sich mir jetzt auf die schnelle, da kann dir Heiko sicherlich besser weiterhelfen.
Vielleicht nochn Link:
███ Zählenwenn / Summewenn mit 2 Kriterien oder mehr ███
Rückmeldung nicht vergessen...
c0bRa
I hacked 127.0.0.1
Anzeige
funktioniert irgendwie nicht?
31.08.2006 15:55:48
Steve
Hallo Heiko
Ich hab jetzt mal die Formel so eingegeben...
Ich kriege aber überall "0" als Wert
Was ist falsch?
Vielen Dank
Gruss Steve
Erklärung
31.08.2006 16:35:12
heikoS
Hallo Steve,
ich vermute, Du hast das Doppelminus weggelassen - daher die 0 als Ergebnis. Das ist hier notwendig (s.u.).
Zur den Einzelteilen:
VERGLEICH($A$2:$A$9&$B$2:$B$9;$A$2:$A$9&$B$2:$B$9;0)
liefert als Ergebnis {1;2;3;4;5;6;7;1} Die letzte 1 wird ermittelt, da der String "11Max" bereits an der ersten Stelle vorkam und zwar deshalb weil der Vergleichstyp von vergleich() auf 0 steht.
VERGLEICH($A$2:$A$9&$B$2:$B$9;$A$2:$A$9&$B$2:$B$9;0)=ZEILE($1:$8)
liefert als Ergebnis {WAHR;WAHR;WAHR;WAHR;WAHR;WAHR;WAHR;FALSCH} FALSCH wird als letztes ermittelt, da die 1 (s.o.) aus vergleich() nunmal ungleich der 8 aus zeile() ist.
($A$2:$A$9=D2)
liefert als Ergebnis {WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;WAHR} weil die 11 in der ersten und der letzten Zelle steht.
Das Ausmultiplizieren von (VERGLEICH($A$2:$A$9&$B$2:$B$9;$A$2:$A$9&$B$2:$B$9;0)=ZEILE($1:$8)*($A$2:$A$9=D2))
liefert schließlich {WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH} weil nur beim ersten Pärchen beide Multiplikatoren 1 sind und keiner 0 ist.
Und jetzt kommt das Doppelminus zum Einsatz, denn das wandelt
{WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH} um in
{1;0;0;0;0;0;0;0}
Und damit kann summe() zu guter Letzt ´was anfangen.
Puh, ist recht viel geworden. Viel Spaß beim Nachvollziehen. Ach ja, und herzlich willkommen in der Welt der {Matrixformeln}. :-)
Gruß Heiko
Anzeige
Danke und noch kleine Frage
31.08.2006 16:57:20
Steve
Hallo Heiko
Vielen Dank für deine Zeit und die wertvollen Erklärungen...
Ich habe noch ne kleine Frage zur folgenden Formel, die "falsch" ausgibt falls die Einträge doppelt sind:
Summenprodukt((A2:A$9=A2)*(B2:B$9=B2))=1
In den Klammern werden doch 2 Vektoren gebildet, mit 0 und 1
Danach summenprodukt -- Das sollte doch bei dreifach vorkommen "1+1+1=3" ergeben und somit 3=1 auch "falsch" ergeben?
Was denke ich falsch?
Danke und Gruss
Steve
Bitte und eine weitere Antwort ;-)
31.08.2006 17:22:56
heikoS
Hallo Steve,
Gegenfrage: kennst Du die Möglichkeit, Dir die Formel(Teil-)Ergebnisse in der Bearbeitungszeile anzeigen zu lassen? Nein? Dann markier in der Formel ´mal diesen Teil:
(A2:A$9=A2)
Dann drückst Du F9.
Dadurch erhälst Du das Ergebnis: {WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;WAHR}
Das selbe mit dem zweiten Ausdruck liefert: {WAHR;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;FALSCH;WAHR}
Diese beiden Ergebnisse werden nun von summenprodukt() multipliziert und dadurch erhälst Du: {1;0;0;0;0;0;0;1}
Das wird dann addiert und somit liefert summenprodukt() den Wert 2, welcher ungleich 1 ist.
Spiel ´mal etwas herum mit der F9-Taste. Das kann imo eine ganze Menge für´s Formelverständnis bringen.
Klappt´s?
Gruß Heiko
PS: Wenn Du nach der Nutzung von F9 die Formel mit Enter abschließt, behälst Du das Ergebnis der Formel und nicht die Formel! Also Vorsicht! Und besser mit Esc abschließen. Dann werden die Ergebnisse wieder zu Formeln. Ok?
Anzeige
Genial
31.08.2006 17:38:36
Steve
Danke Genial! Das kannte ich nicht
Gibt es eigentlich eine Beschränkung wie gross die Tabelle sein darf bei deiner und der Formel von deinem Vorgänger
Bei der Formel mit Hilfspalte krieg ich ab Zeile 14 nur noch Nullen
und bei deiner Formel werden Werte ab Zeile 28 nicht mehr berücksichtigt
?
Vielleicht spinnt ja mein Excel, ?
Danke nochmals
AW: Genial
01.09.2006 08:44:34
heikoS
Hallo Steve,
das liegt dann daran, daß Du die Formeln natürlich noch an Deine echte Datenstruktur anpassen mußt. Die von mir gepostete Formel habe ich hier ´mal auf 100 Datensätze angepaßt. Wichtig dabei ist, daß Du alle Zellbereiche veränderst, d.h. auch auch die der Funktion zeile().
{=SUMME(--(VERGLEICH($A$2:$A$101&$B$2:$B$101;$A$2:$A$101&$B$2:$B$101;0)=ZEILE($1:$100)*($A$2:$A$101=D2)))}
Bei Uwe´s Formel mußt Du auch den Bereich anpassen. Somit wird aus
SUMMENPRODUKT((A2:A$9=A2)*(B2:B$9=B2))=1 dann
SUMMENPRODUKT((A2:A$100=A2)*(B2:B$100=B2))=1
Bei Matrixformeln gibt es allerdings eine Beschränkung, die man kennen sollte: Man darf keine ganzen Spalten verwenden. Be 65535 ist Schluß. Das sollte aber wohl auch reichen. :-)
Hier findest Du übrigens einen Supereinstieg in die Welt der Matrixformeln:
http://www.online-excel.de/excel/singsel.php?f=26
http://www.xldynamic.com/source/xld.SUMPRODUCT.html
Gruß Heiko
Anzeige
Danke!
31.08.2006 15:11:32
Steve
Vielen Dank euch allen!!!

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige