Spaltendaten mit zusammengeführten Zeilen rekonstruieren

Spaltendaten mit zusammengeführten Zeilen rekonstruieren

Ich habe folgende Daten

patient-id  last name   first name  date of birth   value   date of measurement
A1          A           BC          1900-01-01      1       1900-01-03 0:00
A1          A           BC          1900-01-01      2       1900-01-04 0:00
A1          A           BC          1900-01-01      3       1900-01-03 0:00
A1          A           BC          1900-01-01      2       1900-01-02 0:00
A1          A           BC          1900-01-01      1       1900-01-05 0:00
D5          D           EF          1900-01-02      4       1900-01-04 0:00
D5          D           EF          1900-01-02      5       1900-01-03 0:00
D5          D           EF          1900-01-02      4       1900-01-02 0:00
F2          G           HI          1900-01-03      6       1900-01-04 0:00
F2          G           HI          1900-01-03      5       1900-01-01 0:00
F2          G           HI          1900-01-03      6       1900-01-05 0:00

Bildbeschreibung hier eingeben

Jeder Patient hat maximal 10 Zeilen. Ich möchte diese zu einer einzigen Zeile pro Patient zusammenführen.

Beispielsweise werden die obigen Daten zu:

patient-id  last name   first name  date of birth   value1  date of measurement1    value2  date of measurement2    value3  date of measurement3    value4  date of measurement4    value5  date of measurement5    value6  date of measurement6    value7  date of measurement7    value8  date of measurement8    value9  date of measurement9    value10 date of measurement10
A1          A           BC          1900-01-01      1       1900-01-03 0:00 2   1900-01-04 0:00 3   1900-01-03 0:00 2   1900-01-02 0:00 1   1900-01-05 0:00                                     
D5          D           EF          1900-01-02      4       1900-01-04 0:00 5   1900-01-03 0:00 4   1900-01-02 0:00                                                     
F2          G           HI          1900-01-03      6       1900-01-04 0:00 5   1900-01-01 0:00 6   1900-01-05 0:00                                                     

Bildbeschreibung hier eingeben

Weiß jemand, wie das geht?

Antwort1

Sie können dies mit einer Hilfsspalte und einer Pivot-Tabelle tun

  1. Hilfsspalte: Fügen Sie Ihrer Tabelle eine neue Spalte mit einer Formel hinzu:
    =COUNTIF($A$1:A2,A2)
    Dadurch werden jedem Messdatum pro Patienten-ID Nummern zugewiesen.

Bildbeschreibung hier eingeben

  1. Pivot-Tabelle:
    • Konstante Spalten (die man nur einmal braucht) als "Zeilen" hinzufügen
    • neu erstellte Spalte als „Spalten“ hinzufügen
    • Spalten zum Replizieren als „Werte“ hinzufügen
    • Stellen Sie sicher, dass „Wertfeld zusammenfassen nach“ für jedes davon auf „Summe“ oder „Durchschnitt“ eingestellt ist
    • Korrektes Zahlenformat für Datumsangaben festlegen
    • dies funktioniert nur für Daten, die ausschließlich numerische Informationen enthalten (= kein Text)

Bildbeschreibung hier eingeben

Antwort2

Eine alternative Lösung, die weniger elegant als eine Pivot-Tabelle ist und möglicherweise etwas mehr Arbeit erfordert.

Nehmen wir an, Ihre aktuellen Daten befinden sich in einem Blatt mit dem Namen Old.

  1. Stellen Sie Oldsicher, dass die Daten nach Patienten-ID sortiert sind.
  2. Ähnlich wie bei Mátés Lösung fügen Sie eine Hilfsspalte mit der Formel hinzu=COUNTIF($A$1:A2;A2)

Sie sollten ungefähr Folgendes haben:

Bildbeschreibung hier eingeben


  1. Neues Blatt erstellen (zB New)
  2. Kopieren Sie die Spalten A bis D von OldnachNew
  3. Wählen Sie in Newdie Spalten A bis D aus, klicken Sie aufDaten > Duplikate entfernen > Ok
  4. Sie sollten jetzt eine eindeutige Zeile pro Patient haben (siehe den grünen Bereich unten).

Verwenden Sie den folgenden Screenshot, um den Rest des Blattes zu erstellen:

  1. Der graue Bereich sind die dynamischen Überschriften. Wenn Sie diese rechts 9 Mal kopieren/einfügen, werden sie automatisch von 1 bis 10 aktualisiert.
  2. Im weißen Bereich gibt es 2 Formeln: eine zum Abrufen des „Wertes“ und eine zum Abrufen des „Messdatums“. Sie können sie auch rechts kopieren/einfügen und sie werden automatisch aktualisiert.

Bildbeschreibung hier eingeben

Hier sind die SUMIFS:

=SUMIFS(Old!$E:$E,Old!$G:$G,E$2,Old!$A:$A,$A4)              
=SUMIFS(Old!$F:$F,Old!$G:$G,F$2,Old!$A:$A,$A4)              

Notiz:Dies funktioniert auch nur mit numerischen Werten. Für nicht numerische Werte, die für jede Messung und jeden Patienten einzigartig sind, wäre meiner Meinung nach ein VBA-Makro die einzige Lösung.

verwandte Informationen