Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Duplikate Horizontal Löschen
#1
Hallo Excel-Profi's,

ich habe eine einfache Frage:

wie kann ich Duplikate in Excel horizontal löschen? -(Einzeln in Zellen und evlt. durch Komma getrennt(quasi unmöglich))
Vertikal geht ja einfach mit der vorgegebenen Funktion, nur horizontal nicht.  Undecided

Hier ein Beispiel:

Zahlen (mehrere Zellen)
|1|2|3|36|2|12|50|51|3|50|36|2|2|1|                        Gewünschte Lösung: |1|2|3|12|36|50|51|

Und natürlich der "SPEZIAL"-Fall:

Zahlen (1 Zelle)
|1,2,3,36,2,12,50,51,3,50,36,2,2,1|                            Gewünschte Lösung: |1,2,3,12,36,50,51|

Eine Konsolidierung zu vertikal wäre etwas umständlich...bei mehr als 1000 Daten :s

Wenn jemand eine Lösung hat, wäre das echt Spitze,
bin echt schon am verzweifeln und Google gibt mir auch keine Antwort, egal wie ich es auslege. :22: 

Grüße
VauSbe
Antworten Top
#2
Hallo,

einmal hin und her Kopieren und zwischendurch Duplikate entfernen geht nicht? Warum nicht. Die Datenmenge ist doch unerheblich.
Gruß Atilla
Antworten Top
#3
Moin,
du kennst aber den Unterschied zwischen konsolidieren und transponieren?
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Antworten Top
#4
Hallo,

1. Fall:

Arbeitsblatt mit dem Namen 'Tabelle2'
 ABCDEFGHIJKLMNOPQRSTUV
112336212505135036221 12312365051

ZelleFormel
P1=MIN(A1:N1)
Q1=WENNFEHLER(AGGREGAT(15;6;$A$1:$N$1/($A$1:$N$1>P1);1);"")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

2. Fall:

Daten --> Text in Spalten
Formeln wie im 1. Fall
mit TEXTVERKETTEN zusammenfügen
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • vauSbe
Antworten Top
#5
Hey Danke BoskoBiati,

dein Beitrag hat mir echt geholfen, hatte ein wenig damit zu tüfteln, deine Formel anzupassen :D

In meinem Fall sah es nämlich so aus:

|7263,7264,7268,7270,7271,7263,7264,7268,7270,7271,7263,7264,7268,7270,7271|
 
Die längste Zeile hatte, glaube ich bis zu 15 Werte durcheinander in einer Zelle
und das bei vertikal über 3000 Zellen :19:

Habe dann erst die Formel auseinander gemacht, die Buchstaben herunter kopiert mit dem +. Und dann wieder verkettet um am Ende mit einem separaten Makro-Programm die "=" einzufügen XD Idea
Antworten Top
#6
Hallo,

nun gut, wenn Du es so aufwändig gestaltet hast. Mit Deiner Excel-Version wäre das ohne Problem mit der zweiten Variante gegangen. Natürlich hätte man die Formel an die tatsächlichen Wertebereich anpassen müssen:

Arbeitsblatt mit dem Namen 'Tabelle1'
 BCDEFGHIJKLMNOPQRSTUV
1726372647268727072717263726472687270727172637264726872707271 72637264726872707271

ZelleFormel
R1=MIN(B1:P1)
S1=WENNFEHLER(AGGREGAT(15;6;$B$1:$P$1/($B$1:$P$1>R1);1);"")
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Bei Daten, Text in Spalten als Trennzeichen Komma, Leerzeichen und | angeben. 

Mit

Code:
=Textverketten(", ";Wahr;R1:AF1)
oder 


Code:
="|"&Textverketten(", ";Wahr;R1:AF1)&"|"
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
In VBA:

Code:
Sub M_snb()
   sn = Sheet1.Cells(1).CurrentRegion
   
   With CreateObject("scripting.dictionary")
      For j = 1 To UBound(sn)
          sp = Split(Join(Application.Index(sn, j), ","), ",")
          For jj = 0 To UBound(sp)
              x0 = .Item(sp(jj))
          Next
          sn(j, 1) = Join(.keys, "|")
          .RemoveAll
      Next
   End With

   Sheet1.Cells(1, 10).Resize(UBound(sn)) = sn
End Sub
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste