Kombinieren Sie eindeutige Zellenwerte in einer einzelnen Zeile

435
Ravi Bhesadadiya

Siehe das Bild meiner 3 Eingänge (Spalten A: C) und des erwarteten Ausgangs (Spalte D).

Ich möchte die eindeutigen Werte für jede Zeile als Ausgabe auflisten, getrennt durch ein Komma.

enter image description here

0
Ich stimme zu, um diese Frage als Off-Topic abzuschließen, da Fragen ein angemessenes Maß an Forschung und Verständnis für das zu lösende Problem nachweisen müssen. Bitte bearbeiten Sie, um entweder a) Ihr Problem klar zu beschreiben und die bisher durchgeführten Untersuchungen zu lösen, oder b) Sie geben Lösungsversuche an und warum sie nicht funktionierten. Stellen Sie in jedem Fall sicher, dass Ihre erwarteten Ergebnisse klar dargestellt werden. Tetsujin vor 5 Jahren 1
Mögliches Duplikat von [zwei Zeilen in einem Excel-Arbeitsblatt zusammenführen, wobei eine Zelle den gleichen Inhalt hat, die anderen Zellen jedoch einen anderen Inhalt haben] (https://superuser.com/questions/629493/merge-two-rows-in-excel-worksheet-where- eine Zelle hat denselben Inhalt, aber eine andere Zelle) Burgi vor 5 Jahren 1

3 Antworten auf die Frage

3
PeterH

In Zelle D1 verwenden Sie:

=TRIM(A1&IF(COUNTIF(A1:C1,B1)>1,"",","&B1)&IF(COUNTIF(A1:C1,C1)>1,"",","&C1))

Dann nach unten ziehen.

Wenn Sie mehr Spalten haben, &IF(COUNTIF(A1:C1,C1)>1,"",","&C1)ändern Sie C1 für D4 in D1 und für Fünftel in E1 usw.

Ändern Sie auch A1:C1den Bereich COUNTIF, um den Bereich der von Ihnen möglicherweise verwendeten Spalten anzupassen.

Wow es funktioniert Danke PeterH Aber das Problem ist, dass ich 7 Eingabespalte habe. Was wird dann eine endgültige Formel? Ravi Bhesadadiya vor 5 Jahren 0
Siehe Update, um @RaviBhesadadiya zu beantworten, wenn es funktioniert, wenn Sie als korrekte Antwort akzeptieren PeterH vor 5 Jahren 0
Perfekter Dank, du hilfst mir sehr !! Ravi Bhesadadiya vor 5 Jahren 0
Gut, Peter, perfekt 10 ☺ Rajesh S vor 5 Jahren 0
2
Rajesh S

Diese einfache UDF hilft Ihnen, eindeutige Werte in einer durch Komma getrennten Zelle zu kombinieren.

  • Fügen Sie diesen Code als Modul mit dem zugehörigen Datenblatt ein.

    Function CombineUnique(xRg As Range, xChar As String) As String  Dim xCell As Range Dim xDic As Object Set xDic = CreateObject("Scripting.Dictionary") For Each xCell In xRg xDic(xCell.Value) = Empty Next CombineUnique = Join$(xDic.Keys, xChar) Set xDic = Nothing End Function  

Wie es funktioniert:

  • Vor dem Ausführen dieser UNF Fügen Sie Microsoft Scripting Runtime mithilfe von Extras, Verweise im VB-Editor-Fenster hinzu.
  • Um das gewünschte Ergebnis zu erhalten, D2schreiben Sie in Zelle unten
    die Formel und füllen Sie sie aus.

    =CombineUnique(A2:C2,",")

Beachten Sie, passen Sie die Zellverweise in Formula nach Bedarf an.

Sie verwenden Late-Binding. Daher gibt es keinen Grund, die Microsoft Scripting Runtime-Referenz hinzuzufügen. Dies wäre nur erforderlich, wenn Sie die vorzeitige Bindung verwenden. Ron Rosenfeld vor 5 Jahren 0
@RonRosenfeld, als Vorsichtsmaßnahme ist es gut, manchmal hinzuzufügen, dass ich den Fehler erlebt habe. DANKE für wertvolles Feedback. ☺ Rajesh S vor 5 Jahren 0
1
Scott Craner

Wenn Sie Office 365 Excel haben, können Sie TEXTJOIN als Matrixformel verwenden:

=TEXTJOIN(",",TRUE,IF(COLUMN(A2:C2)=MATCH(A2:C2,A2:C2,0),A2:C2,"")) 

Als Array-Formel muss sie beim Verlassen des Bearbeitungsmodus mit STRG-UMSCHALT-EINGABE anstelle von EINGABE bestätigt werden.

Dies iteriert und testet, ob die Instanz die erste ist, und wenn ja, wird sie der Zeichenfolge hinzugefügt.

enter image description here