Excel - ID-bezogenen Wert finden und in einer anderen Arbeitsmappe ausfüllen

Excel - ID-bezogenen Wert finden und in einer anderen Arbeitsmappe ausfüllen

Ich arbeite in einem kleinen Krankenhaus in Indien und habe folgendes Problem: Für ein spezielles Medikament haben wir eine Liste mit DATUM, ID, DOSIS, DAUER, NÄCHSTER BESUCH, die wir als tägliche Arbeitsliste (Arbeitsmappe 1) verwenden, d. h. eine ID (Person) kann mehr als einmal in dieser Liste auftauchen.

In einer anderen Arbeitsmappe haben wir eine „Masterdatei“ (Arbeitsmappe 2) mit jeder ID nur einmal, aber das Muster (DATUM, DAUER, NÄCHSTER BESUCH) wiederholt sich jedes Mal, wenn die Person wiederkommt (also DATUM2, DAUER2, NÄCHSTER BESUCH2).

Ich suche nach einer eleganten Möglichkeit, die Daten aus meiner täglichen Liste (Arbeitsmappe 1) automatisch in das Hauptblatt (Arbeitsmappe 2) einzufügen. Daher gehe ich davon aus, dass ich eine WENN + INDEX/Match + Array-Funktion benötige, um die ID in Arbeitsmappe 1 zu finden, die Werte für DATUM1, DAUER1, NÄCHSTER BESUCH2 abzurufen und in Arbeitsmappe 2 einzutragen, dann in Arbeitsmappe 1 weiter nach unten zu gehen, den nächsten Besuchszeitpunkt des Patienten zu finden, die Daten abzurufen und sie erneut in Arbeitsmappe 2 einzutragen, jetzt aber in DATUM2 … und so weiter.

Ich füge zwei Bilder bei, um das Problem zu erklären.

Tagesblatt:
Bildbeschreibung hier eingeben

Hauptblatt: Bildbeschreibung hier eingeben

Antwort1

  1. Es ist möglich, die Werte mit Formeln zu finden. Sie benötigen nur die Überschriften, um Zahlen anzuzeigen, z. B. 1 im Format0 „1. Besuch“usw.
  2. Leider können die Funktionen nie mit zwei Dingen umgehen: Datenverlust und Überlauf. Stellen Sie sich vor, der Patient kommt zum achten Mal und wird nicht in Ihrer Tabelle angezeigt, weil Sie sie nur auf 7 gefüllt haben.

Die Funktion, nach der Sie wahrscheinlich suchen, ist

=SUMPRODUCT(1*(A3>$A$3:$A$8),1*(B3=$B$3:$B$8))+1

Dies muss zu Arbeitsmappe 1 hinzugefügt werden und gibt die Nummer des angegebenen Meetings an, erstes: 1, zweites: 2 usw. Ein weiteres Problem mit dieser Formel ist, dass sie nicht zwischen zwei Zahlen mit demselben Wert unterscheidet. Wenn eine Person Sie an einem Tag zweimal besucht (vorausgesetzt, Sie erfassen nicht die Stunden), zählt dies nur als ein Besuch.

Antwort2

Wie in der anderen Antwort beschrieben, können Sie es mit einer Formel machen, aber das ist vielleicht nicht die beste/einfachste Lösung. Ich würde eine der folgenden Optionen verwenden:

Pivot-Tabelle:

Wahrscheinlich die einfachste und eleganteste Lösung, wenn Sie mit den Einschränkungen leben können:
– Zielbereich ist nicht editierbar (vielleicht ist das in Ihrem Fall sogar von Vorteil).
– Sie können im Hauptteil Ihrer Tabelle nur Zahlen- und Datumswerte verwenden (der einzige Text in Ihrem Beispiel ist die Rate, aber Sie können das benutzerdefinierte Zahlenformat so einstellen, dass nach der Zahl „mg“ angezeigt wird).
Vorbereitung:
– Fügen Sie Ihrer Tabelle eine neue Spalte hinzu – VisitSequence: =countifs(f:f,f3,b:b,"<="&b3).
– Erstellen Sie eine Pivot-Tabelle. Spaltenbeschriftungen: ID; Zeilenüberschriften: VisitSequence; Werte: Datum, Dosis, Dauer, nächster Besuch (da Sie für jede ID x Datumskombination nur eine Zeile haben, können Sie entweder die Summe oder den Durchschnitt verwenden).

VBA:

Erfordert viel mehr Arbeit als Pivot, ist aber viel flexibler.

MS-Zugriff:

Natives Tool für den Bericht, den Sie benötigen. Möglicherweise müssen Sie etwas lernen, aber langfristig kann es die beste Lösung sein.

verwandte Informationen