Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

keine Duplikate

keine Duplikate
04.12.2008 10:44:00
Meli
Hallo,
ich habe versucht, ein paar Infos aus diesem Forum zu meinem Problem rauszufinden, aber ich habe nicht viel gefunden (vielleicht suche ich es auch an einer falschen Stelle :-)
Also, ich habe eine Spalte Kunde (=B) und eine Spalte Land (=C). Es kann öfters sowohl in Spalte B als auch Spalte C Duplikate vorkommen. Mein Ziel ist in Spalte E und F eine Liste von Kunden und Länder zu erstellen, wo keine Duplikate vorkommen. (allerdings muß der Kunde schon im ursprünglichen Land bleiben:-).
Bisher habe ich mit Spezialfilter gearbeitet und deswegen die Hilfsspalte A (=B&C) gebildet, aber irgendwie funktioniert der Spezialfilter auch :-(((. Gibt es eine andere Lösung, das evtl. mit Formel sogar machbar wäre?
https://www.herber.de/bbs/user/57339.xls
Danke, Meli

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: keine Duplikate
04.12.2008 10:49:24
heikoS
Hallo Meli,
wandele die Formeln in Spalte a in Werte um und starte dann den Spezialfilter von Zelle e5 aus. Dann funktioniert´s.
Klappt´s?
Gruß Heiko
AW: keine Duplikate
04.12.2008 11:01:25
Meli
Hallo Heiko,
ja, danke. Mit Werte funktioniert der Spezialfilter. Gibt es aber trotzdem eine Formellösung dafür? ...damit ich nicht immer den Schritt: "Kunde mit Land verknüpfen und dann Spezialfilter setzen " gehen muß.
Danke im voraus,
Meli
keine Duplikate - statt Spezialfilter: Formellösun
04.12.2008 11:33:00
WF
Hi Meli,
unter Verwendung Deiner Hilfsspale A.
in H5 (Hilfsspalte) steht =A5
in H6 steht die Arrayformel:
{=INDEX(A$5:A$599;VERGLEICH(1;(ZÄHLENWENN(H$5:H5;A$5:A$599)=0)*(A$5:A$599"");0))}
runterkopieren
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter (statt Enter allein); - das erzeugt sie.
Bei 600 Zeilen dauert die Berechnung dann schon etwas.
das Ergebnis - in E5 steht:
=INDEX(B:B;VERGLEICH($H5;$A:$A;0))
nach F5 kopieren und beide dann runter
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
http://www.excelformeln.de/
die ultimative Formelseite
Anzeige
Ups! - Da war der Meister schneller! :-) oT
04.12.2008 11:39:55
heikoS
AW: keine Duplikate
04.12.2008 11:38:00
heikoS
Hallo Meli,
klar gibt´s da eine Lösung. Bei den Formelgöttern findet sich das hier: http://www.excelformeln.de/formeln.html?welcher=194
Da solltest etwas für Dich passendes dabei sein. Allerdings wird die Matrixlösung IMHO bei Deinem Datenvolumen etwas zeitintensiver.
Klappt´s?
Gruß Heiko
AW: keine Duplikate
04.12.2008 11:44:21
Peter
Hallo Meli,
ich kann dir das nachfolgende Makro anbieten, das sich eine Hilfsspalte (A) erzeugt, dort den Kunden und das Land einfügt, dann die doppelten rauswirft und schließlich die Hilfsspalte wieder löscht.
Option Explicit

Public Sub Doppelte_raus()
Dim WkSh    As Worksheet
Dim lZeile  As Long
Application.ScreenUpdating = False
Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
WkSh.Columns("A").Insert Shift:=xlToRight
For lZeile = 5 To WkSh.Cells(Rows.Count, 2).End(xlUp).Row
WkSh.Range("A" & lZeile).Value = WkSh.Range("B" & lZeile).Value & _
WkSh.Range("C" & lZeile).Value
Next lZeile
For lZeile = WkSh.Cells(Rows.Count, 2).End(xlUp).Row To 5 Step -1
If Application.WorksheetFunction.CountIf(WkSh.Columns(1), _
WkSh.Range("A" & lZeile).Value) > 1 Then
WkSh.Rows(lZeile).Delete Shift:=xlUp
End If
Next lZeile
WkSh.Columns(1).Delete Shift:=xlToLeft
Application.ScreenUpdating = True
End Sub


Gruß Peter

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige