Wie SVERWEIS, aber mit mehr

Wie SVERWEIS, aber mit mehr

Ich habe also eine Patientenliste. Und dann habe ich eine Liste mit Verkaufsaufträgen, die den erforderlichen Klinikbesuchen entsprechen. Ich möchte sehen, wer untersucht wurde und wer nicht.

Auf Blatt 1 habe ich also eine Liste der Patienten und ihre ID-Nummern (die Patienten-ID ist eindeutig): Patienten-ID, Patientenname

Dann habe ich auf Blatt 2 eine Liste der Verkaufsaufträge (die Verkaufsauftrags-ID ist eindeutig, die Patienten-ID nicht): Patienten-ID, Verkaufsauftrags-ID, Datum des Verkaufsauftrags

Ich möchte, dass Excel die Verkaufsaufträge in Blatt 2 prüft, die übereinstimmende Patienten-ID findet und dann die Daten der Reihe nach überträgt.

Blatt 1 würde also folgendermaßen aussehen: Patienten-ID, Patientenname, Datum des Verkaufsauftrags 1, Datum des Verkaufsauftrags 2, null (wenn keine weiteren Übereinstimmungen vorhanden sind).

Ich habe alles gelesen, was ich zu SVERWEIS und INDEX/VERGLEICH finden konnte, und kann scheinbar keine Funktion finden, die funktioniert, wenn es auf dem zweiten Blatt mehrere Übereinstimmungen gibt (die Patienten-ID wäre für jeden Verkaufsauftrag auf Blatt 2 immer dieselbe).

Bitte helfen Sie.

Antwort1

Hier ist eine Lösung, die keine Hilfsspalten oder Sortierung der Tabellen erfordert. Sie verwendet lediglich eine relativ einfache Array-Formel.


Richten Sie die beiden Arbeitsblätter wie folgt ein, wobei das zweite Blatt den Namen hat Sheet2:

Arbeitsblatt 1 Screenshot

Arbeitsblatt 2 Screenshot

Geben Sie ( Ctrl+ ) die folgende Formel in die Zelle des ersten Blatts ein und kopieren Sie sie in das Array, fügen Sie sie ein und füllen Sie sie Shiftaus :EnterC3C3:G7

{=IFERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),C$2),"")}


Beachten Sie, dass, wenn die letzte Datumszelle der Patiententabelle in Blatt 1 ausgefüllt ist,MaiEs gibt noch mehr Daten, die nicht angezeigt werden. Im Beispielarbeitsblatt habe ich in der Spalte rechts neben der Tabelle eine Formel hinzugefügt, die warnt, wenn dies der Fall ist:

Diese Formel, das eingegebene Array H3und das kopierte, eingefügte/ausgefüllte Array H3:H7lautet:

{=IF(ISERROR(SMALL(IFERROR(1/(1/((Sheet2!$A$2:$A$20=$A3)*(Sheet2!$C$2:$C$20))),""),G$2+1)),"","more")}

Antwort2

Dies kann gelöst werden, indem die Bestellungen pro Kunde gezählt werden. Es gibt viele Möglichkeiten, dieses Problem zu lösen, aber hier ist eine.

Schritt 1:

Sortieren Sie Ihre Auftragstabelle so, dass die neuesten Aufträge zuerst erscheinen.

Schritt 2:

Fügen Sie am Ende Ihrer Verkaufsaufträge eine Spalte mit einer Formel hinzu, die die Kundennummern zählt. Schreiben Sie in die neue Spalte, zweite Zeile, die Formel =Countif(B$2:B2,B2).

Kopieren Sie die Formel nach unten.

Bist die Spalte, in der die Kundennummern zu finden sind.

Schritt 3:

Fügen Sie eine Spalte mit einem eindeutigen Schlüssel hinzu, um die Kundennummer und die Anzahl der Bestellungen zu identifizieren. Schreiben Sie in die zweite neue Spalte, zweite Zeile, die Formel=B2&" "&X2

Bist die Kundennummer und Xdie Anzahl der Bestellungen, die Sie in Schritt 2 angegeben haben.

Schritt 4:

Fügen Sie in Ihrer Patiententabelle eine Spalte hinzu, die die ID für die neueste Bestellung, die zweitneueste Bestellung usw. indexiert, um das Datum zurückzugeben. Verwenden Sie ein , IFERROR()um ein Leerzeichen zurückzugeben, wenn keine Übereinstimmung vorliegt, und verwenden Sie absolute Referenzen, damit die Formeln leicht kopiert werden können:

(Ich habe versucht, die Formel aus meinem norwegischen Excel zu übersetzen)

=IFERROR(INDEX('Order list'!$C:$C,MATCH('Patient list'!$A2&" "&'Patient list'!B$1,'Order list'!$Y:$Y,0)),"")

wo Csich die Spalte mit den Daten befindet und Ywo sich der Schlüssel in Schritt 3 befindet.

Ich hoffe, dies bringt Sie auf den richtigen Weg, um eine maßgeschneiderte Lösung für Ihre Tabellen zu finden. Sie können wahrscheinlich die Formeln in der Bestelltabelle usw. automatisieren.

Aufträge:

Screenshot der Auftragstabelle

Patienten:

Screenshot der Patiententabelle

verwandte Informationen