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

Sverweis mehrere Suchkriteren

Sverweis mehrere Suchkriteren
19.11.2015 17:56:01
Nick
Guten Abend Miteinander
Ich hoffe Ihr könnt mir weiterhelfen, da ich fast am verzweifeln bin... Da ich es schon mal hinbekommen habe, aber nicht mehr weiß wie (4 Jahre her...)
Also folgendes möchte ich machen:
Ich muss Provisionsabrechnungen erstellen, die Kunden zahlen auf unser Konto ein und ich muss den jeweiligen Vermittler eine Abrechnung erstellen inkl. seiner Untervermittler.
Das heißt, dass er eine eigene Provision sowie eine Provision aus seiner Struktur erhält. Die Hilfstabelle ist kein Problem, das kann ich mit einer Sverweis-funktion lösen, aber das untereinander auflisten wird schwerer, da ich hier mit einer Index-funktion arbeiten muss. Es geht halt nur darum mit mehreren Suchkriterien (Vermittlernummern) die richtige Kunden in die richtige Abrechnung zu transportieren (im Beispiel Vermittlernummer + Kundennummer)  Schaut euch einfach mal die Excel-Datei an, vielleicht könnt ihr mir helfen:)
https://www.herber.de/bbs/user/101658.xlsx
Vielen Dank im Voraus.
Gruss
Nick

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

Betreff
Datum
Anwender
Anzeige
AW: so für mich nicht nachvollziehbar ...
19.11.2015 18:27:50
...
Hallo Nick,
... was ist Dir genau vorgegeben und was willst Du daraus ermitteln?
Gruß Werner
.. , - ...

AW: so für mich nicht nachvollziehbar ...
19.11.2015 18:45:44
Nick
Vielen Dank für die rasche Antwort Walter. Letztlich möchte ich eine mehrstufige Abrechnung erstellen, in welcher ein Vermittler mehrere Untervermittler hat oder alleine aufgeführt wird. Dabei sollte jede Kundennummer sowie der dazugehörige Vermittler aufgelistet werden.
Kundennummern kommen auch der Geldeingangsliste und die Vermittlernummern sowie Untervermittlernummern aus der Tabelle "Provisionstabelle".
Ich hoffe, dass es nun besser verständlich war :) Ich habe Abrechnung Vermittler 100-104 mal ausgefüllt, damit man sieht, wie das Endresultat auszusehen hat :)
Beste Grüsse
Nick

Anzeige
Das würde ich etwas anders lösen, ...
20.11.2015 04:37:32
Luc:-?
…Nick;
allerdings verwundert mich euer Provisionssystem doch etwas. Der OberStrucki hat wohl 2 direkt Unterstellte, von denen hier einer ebenfalls einen direkt Unterstellten hat, also quasi UnterStrucki ist.
Struckis bekommen normalerweise mehr für eigene Leistung und einen Anteil der Leistung der Struktur nach Unterstellungsgrad gestaffelt, aber so berechnet, als wären es Anteile ihrer eigenen Berechnungsbasis. Das wären auch nie 100% einer Überweisung, sondern ihres Anteils daran. Hast du evtl etwas vereinfacht.
Na, sei's drum. Da ich davon ausgehe, dass das 1. und das letzte Blatt nur Vorgabe sind bzw der Daten­Erfassung dienen, habe ich das für die restlichen so gelöst:
 ABCDEF
1 Vermittler Kundennummer Kundename Überweisungsbetrag Provision Anteil Vertrieb
210010000Mustermann 1 1,000.00 € 100% 1,000.00 €
310110002Mustermann 3 10,000.00 € 50% 5,000.00 €
410210001Mustermann 2 1,000.00 € 25% 250.00 €
510310003Mustermann 4 2,000.00 € 50% 1,000.00 €
6      
7A2:A5: {=KKLEINSTE(WENN(Geldeingänge!D2:D5=0;"";Geldeingänge!A2:A5);ZEILE(A1:A4))}
8B2[:B5;C2:C5;D2:D5]:=SVERWEIS($A2;Geldeingänge!$A$1:B$5;SPALTE(B1);0)F2[:F5]:=D2*E2
9E2[:E5]:=INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);VERGLEICH
10                   (A2;INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);0);0)+1)
Ich würde allerdings empfehlen, A2 fest vorzugeben und erst ab A3 eine mehrzellige MatrixFml einzusetzen, da das auf den anderen Blättern uU ohnehin gemacht wdn muss. Meine bisherige enthält eine neue UDF (deren Code ich ggf noch poste), die einen unzusammen­hängenden Bereich erzeugt. Aber das kann man wahrscheinlich auch anders lösen. Für dieses Blatt würde sie so lauten:
A3:A5: {=INDEX(NoErrRange(INDEX(Provisionstabelle!D1:L5;VERGLEICH(A$2;Provisionstabelle!B1:B5;0);0);;
Provisionstabelle!D1:L1="Vermittlernummer");1;1;ZEILE(A1:A3))}
Die Tabellen auf den anderen Blättern hätten analoge Fmln, wobei bei 101 für Spalte A die(/eine) alternative Fml zum Einsatz kommen müsste.
Nebenbei, du hattest einige Fehler in deine Datei eingebaut, wichtig vor allem Blatt1 (2 Fehler), und im letzten fehlte die Überweisung von Mustermann4. Wolltest du uns testen… ;-]
Morrn, Luc :-?
Besser informiert mit …

Anzeige
So, habe jetzt doch noch eine andere Fml ...
20.11.2015 12:51:32
Luc:-?
…für die Spalte A gefunden, Nick:
 ABCDEF
1 Vermittler Kundennummer Kundename Überweisungsbetrag Provision Anteil Vertrieb
210110002 Mustermann 3 10,000.00 € 50% 5,000.00 €
310210001 Mustermann 2 1,000.00 € 25% 250.00 €
4      
5A3:A4: {=MTRANS(WENN(INDEX(Struktur;ZEILE()-2)=0;"";Struktur))}F2[:F3]:=D2*E2
6Struktur=AUSWERTEN(WECHSELN("index(Provisionstabelle!D2:L5;"&VERGLEICH(!$A$2;
7   Provisionstabelle!$B$2:$B$5;0)&";#)";"#";AUSWERTEN("3*SPALTE(A1:C1)-1")))
8B2[:B3;C2:C3;D2:D3]:=SVERWEIS($A2;Geldeingänge!$A$1:B$5;SPALTE(B1);0)
9E2[:E3]:=INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);VERGLEICH
10                   (A2;INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);0);0)+1)
Hier wird eine mit dem definierten Namen Struktur benannte Fml angewandt, die die alte XLM-Fkt AUSWERTEN verwendet. Allerdings muss dann die Datei ab Xl12/2007 stets als .xlsm bzw .xlsb gespeichert wdn! Das wäre bei einer UDF dann nicht erforderlich, wenn diese in ein aktives AddIn ausgelagert wird. Dann müsste allerdings sichergestellt sein, dass jeder Anwender ebenfalls über dasselbe verfügt. Anderenfalls müssen diese Spalten durch ihre Ergebnisse überspeichert wdn. Letzteres gilt auch, wenn die benannte Fml verwendet wird, aber unbedingt als .xlsx gespeichert wdn soll/muss.
Die Tabelle100 sähe dann so aus:
 ABCDEF
1 Vermittler Kundennummer Kundename Überweisungsbetrag Provision Anteil Vertrieb
210010000Mustermann 1 1,000.00 € 100% 1,000.00 €
310110002Mustermann 3 10,000.00 € 50% 5,000.00 €
410210001Mustermann 2 1,000.00 € 25% 250.00 €
510310003Mustermann 4 2,000.00 € 50% 1,000.00 €
6A3:A5: {=MTRANS(WENN(INDEX(Struktur;ZEILE()-2)=0;"";Struktur))}F2[:F5]:=D2*E2
7Struktur=AUSWERTEN(WECHSELN("index(Provisionstabelle!D2:L5;"&VERGLEICH(!$A$2;
8   Provisionstabelle!$B$2:$B$5;0)&";#)";"#";AUSWERTEN("3*SPALTE(A1:C1)-1")))
9B2[:B5;C2:C5;D2:D5]:=SVERWEIS($A2;Geldeingänge!$A$1:B$5;SPALTE(B1);0)
10E2[:E5]:=INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);VERGLEICH
11                   (A2;INDEX(Provisionstabelle!A$1:L$5;VERGLEICH(A$2;Provisionstabelle!B$1:B$5;0);0);0)+1)
Die Zelle A2 wird in allen Tabellen fest belegt. Die Fml in den Folgezeilen von A2 liefert Leer-String, wenn in der jeweils relevanten Provisions­Tabellen­Zeile keine weiteren VermittlerNrn mehr gefunden wdn. Wird durch die mehrzellige Auswahl für die MatrixFml der angegebene Provisions­Tabellen­Bereich überschritten, entsteht ein Bezugsfehler.
Luc :-?

Anzeige
AW: Das würde ich etwas anders lösen, ...
20.11.2015 15:05:24
Nick
Wow Luc. Vielen Dank für die Hilfe. Da hast Du recht, aber wollte nicht bewusst Euer Können auf die Probe stellen:)
Leider ist mir Deine Lösung ein Rätsel bzw. funktioniert bei mir nicht ganz. Um es nochmals zu veranschaulichen was ich benötige, habe ich es noch einmal vereinfacht. Ich glaube, Ihr kriegt das in 2 Minuten hin:)
Vielen Dank nochmals für die tolle Hilfe.
https://www.herber.de/bbs/user/101677.xlsx

AW: Das würde ich etwas anders lösen, ...
20.11.2015 16:04:20
Nick
Hallo lieber Luc,
ich habe es nun gelöst. Vielen Dank nochmals und für die ganze Mühe! Gruss Nick
=WENN(INDEX(Geldeingänge!A:A;KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(Geldeingänge!$A$1:$A$5000; SuchWerte hier Bereich "Vermittler1";0));5000;ZEILE(Geldeingänge!$A$1:$A$5000));ZEILE(A1)))=0;""; INDEX(Geldeingänge!A:A;KKLEINSTE(WENN(ISTFEHLER(VERGLEICH(Geldeingänge!$A$1:$A$5000;Vermittler1;0)); 5000;ZEILE(Geldeingänge!$A$1:$A$5000));ZEILE(A1))))

Anzeige
Und ich habe noch eine Variante für Spalte A, ...
20.11.2015 17:04:30
Luc:-?
…Nick;
habe hier zwar den definierten Namen beibehalten, aber seinen Bezug so geändert, dass ohne XLM-Fkt ausgekommen wird:
A3:A5:{=WENN(ZEILE()-2>SUMME(--(Struktur>0));"";Struktur)}
Struktur =MTRANS(INDEX(Provisionstabelle!$D$2:$L$5;VERGLEICH(!$A$2;Provisionstabelle!$B$2:$B$5;0);3*SPALTE(!$A$1:$C$1)-1))
Beachten, dass beim Anlegen der benannten Fml vor den hier so gezeigten FmlAdressen auch nur das ! stehen bleibt (kein vollständiger Blattname!), dann gilt das auf allen Blättern.
In Tabelle 101 erstreckt sich die MatrixFml natürlich nur auf A3 (bzw A3:A4), in den weiteren wird sie (noch) nicht benötigt.
Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige