Hi, ich habe eine Liste von Zahlen und Namen die ich auf doppel Prüfen will in Excel. Wenn eine Nummer Doppelt mit unterschiedlichen Namen auftaucht ist das kein Problem (z.B. Nr. 7) Wenn aber eine Namen-Nummer Kombination doppelt ist, soll das irgendwie markiert werden (Hier der Hans=6) Es würde auch reichen wenn nur einer von beiden Markiert wird. Hat jemand eine Idee wie man das mit Excel-Formeln hinbekommen könnte? Wenn ich eine "WENN()" Funktion auf die Spalte anwende, kommt da eine art Vektor raus "{0;0;0;1;0;0}" aber irgendwie geht's da nicht weiter. Die Zelle zeigt dann immer "#WERT" an, auch wenn es im Formeleditor richtig dargestellt wird...
[X] <- megafettes X : Du willst eine Datenbank verwenden In SQL ist das trivial, ein Einzeiler. Excel-Murks: Schreib dir ne Sub die 1. Zeilen nach Namen oder Nummern sortiert wenn es viele Datensätze sind. 2. Suchst du die Dopplungen von vorne bis hinten, innerhalb der jeweiligen Zifferngruppe. Du vergleichst jeweils auf Name und Ziffer. Danach die nächste Zifferngruppe bis du durch bist.
Es gibt eine bedingte Formatierung, bei der Duplikate markiert werden. Zu finden unter Start --> Formatvorlagen --> Bedingte Formatierung --> Regeln zum Hervorheben --> Doppelte Werte Mit =VERKETTEN() eine Suchspalte aus den beiden anderen Spalten basteln, in der dann die Duplikate markiert werden. Ka was du genau machen willst, aber das würde zumindest für eine optische Hervorhebung sorgen...
Jep, bedingte Formatierung. Ansonsten falls Du sie entfernen möchtest, gibt es im aktuellen Excel unter Data eine gesonderte Funktion. Ebenso bei Filter.
Für Open/LibreOffice Anwender eine kleine Demonstration:
1 | ''Testdaten: |
2 | '' A1:A10 Zahlen deiner wahl |
3 | '' B1:B10 Namen deiner Wahl |
4 | '' C1:C10 für Farbmarkierung der Doppelung |
5 | |
6 | |
7 | |
8 | Sub markDoubletten() |
9 | Dim Doc As Object |
10 | Dim Sheet As Object |
11 | Dim Cell As Object |
12 | |
13 | Doc = ThisComponent |
14 | Sheet = Doc.Sheets(0) |
15 | |
16 | spalte=0 |
17 | '' vorher rücksetzen von alten werten |
18 | '' wird nur zum Testen gebraucht |
19 | for zeile = 0 to 8 |
20 | Cell3 = Sheet.getCellByPosition(spalte+2,zeile) |
21 | Cell3.isCellBackgroundTransparent = "true" |
22 | next |
23 | |
24 | |
25 | for zeile = 0 to 8 |
26 | Cell1 = Sheet.getCellByPosition(spalte,zeile) |
27 | Cell2 = Sheet.getCellByPosition(spalte+1,zeile) |
28 | Cell3 = Sheet.getCellByPosition(spalte+2,zeile+1) |
29 | |
30 | NextRowCell1 = Sheet.getCellByPosition(spalte,zeile+1) |
31 | NextRowCell2 = Sheet.getCellByPosition(spalte+1,zeile+1) |
32 | |
33 | |
34 | if ( (Cell1.Value = NextRowCell1.Value) AND ( Cell2.String = NextRowCell2.String) ) then |
35 | Cell3.CellBackColor=RGB(255,0,255) |
36 | end if |
37 | next |
38 | End Sub |
VBA-Entwickler schrieb: > [X] <- megafettes X : Du willst eine Datenbank verwenden > In SQL ist das trivial, ein Einzeiler. select name, count(*) from tabelle group by name order by 2 desc; einerseits, andererseits ist es für die ausgabe einfach zu viel "datenbanken zu lernen" wenn der OP damit noch nichts gemacht hat.
Als alter VB und SQL-Bastler neigt man natürlich dazu, gleich zu extremen Maßnahmen zu greifen, aber ich hab dann doch einfach mal gegoogelt. In Excel ab 2007: 1. https://www.youtube.com/watch?v=-jz-EWzmzPk 2. http://www.excelfunctions.net/Excel-Duplicates.html In LibreOffice / Openoffice: 1. http://stackoverflow.com/questions/17124237/highlight-duplicate-value-in-open-office-org-calc 2. http://ubuntuforums.org/showthread.php?t=2233824
Dankeschön, das mit Verketten und hervorheben sollte gehen. Die Excel-Liste geht reihum und jeder trägt sich selbst sein, von da kommen Datenbank und derartige Späße nicht in Frage. Es soll nur jeder sofort sehen können, dass die Gewählte Kombination aus Startnummer und Name schon vergeben ist. Automatisch löschen wollen wir keinen Teilnehmer :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.