PDA

Vollständige Version anzeigen : Doppelte Einträge mit Matrixformel entfernen


M.Porter
21.03.2009, 10:11
Hallo,

ich möchte gerne mit einer Matrixformel doppelte Einträge aus einer Liste mit Datumsangaben löschen. Mein erster Versuch sieht folgendermaßen aus:
=WENN(ZEILE(A1)>MAX($B$3:$B$1000);"";INDEX($B$3:$B$1000;VERGLEICH(ZEILE(A1);$B$3:$B$1000;0)))
Leider hakt es am markierten Teil der Formel, da die Formel nur funktioniert, wenn in der Liste von 1 hochgezählt wird. Hat jemand eine Ahnung wie man die Formel ändern muss, wenn die Ausgangsliste Datumswerte enthält, oder möglicherweise auch Namen?

Vielen Dank!
Jan

Backowe
21.03.2009, 10:38
Hallo Jan,

schau mal nach ob Du bei unseren Freunden von Excelformeln.de fündig wirst.

http://www.excelformeln.de/formeln.html?gruppe=11

Eine Alternative wäre folgender Code:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Sub</span> DuplikateLoeschen()
<span class="TOKEN">Dim</span> i&amp;
Application.ScreenUpdating = <span class="TOKEN">False</span>
<span class="TOKEN">For</span> i = Cells(Rows.Count, &quot;A&quot;).End(xlUp).Row <span class="TOKEN">To</span> 1 <span class="TOKEN">Step</span> -1
<span class="TOKEN">If</span> Application.CountIf(Range(Cells(1, &quot;A&quot;), Cells(i, &quot;A&quot;)), Cells(i, &quot;A&quot;)) &gt; 1 <span class="TOKEN">Then</span>
Cells(i, &quot;A&quot;).EntireRow.Delete
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Next</span>
Application.ScreenUpdating = <span class="TOKEN">True</span>
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

M.Porter
21.03.2009, 13:10
Vielen Dank!

Gruß
Jan