Excel-Lookup mehrere Werte zurückgeben horizontal, während das entfernen von Duplikaten
Ich würde gerne eine vertikale Suche für eine Liste von lookup-Werte und dann mehrere Werte zurückgegeben, die in Spalten für jede Suche Wert. Habe ich es tatsächlich geschafft, dies zu tun, nach einer langen Google-Suche, dies ist der code:
=INDEX(Data!$H$3:$H$70000, SMALL(IF($B3=Data!$J$3:$J$70000, ROW(Data!$J$3:$J$70000)-MIN(ROW(Data!$J$3:$J$70000))+1, ""), COLUMN(A$2)))
Nun, mein problem ist, wie Sie sehen können, in der Formel, meinem lookup-Sortiment enthält über 70.000 Zeilen, was bedeutet, dass viele Werte zurückgeben. Aber die meisten dieser Rückgabewerte double. Dies bedeutet, ich muss ziehen obige Formel über viele Spalten, bis alle lookup-Werte (etwa 200) #NUM zurück!.
Gibt es überhaupt eine Möglichkeit, ich denke VBA ist notwendig, um die Rückkehr der Werte nachdem die Duplikate entfernt wurden? Ich bin neu in VBA und ich bin nicht sicher, wie gehen über diese. Auch dauert es ewig, bis berechnen Sie mit so vielen Zellen.
Das ist völlig korrekt
InformationsquelleAutor Ampi Severe | 2013-01-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
[Bearbeitet]
Können Sie tun, was Sie wollen, mit einer überarbeiteten Formel, nicht sicher, wie effizient es sein wird mit 70.000 Zeilen, obwohl.
Verwenden Sie diese Formel für das erste match
=IFERROR(INDEX(Data!$H3:$H70000,MATCH($B3,Data!$J3:$J70000,0)),"")
Mittlerweile davon aus, dass die Formel in F5 diese Formel in G5 bestätigt mit
CTRL+SHIFT+ENTER
kopiert und über=IFERROR(INDEX(Data!$H3:$H70000,MATCH(1,($B3=Data!$J3:$J70000)*ISNA(MATCH(Data!$H3:$H70000,$F5:F5,0)),0)),"")
verändert den Fett gedruckten Teil, je nach Lage des Formel-1 -
Dies wird Ihnen eine Liste ohne Wiederholungen.....und wenn man die Werte, die-Rohlinge eher als ein Fehler
Nevermind, es funktioniert wirklich gut, und besser als alle anderen Lösungen, die ich gefunden habe mit ZÄHLENWENN. Danke!
InformationsquelleAutor barry houdini
Nicht sicher, ob Sie immer noch nach einer VBA beantworten, aber das sollte den job tun - dauert etwa 25 Sekunden auf meiner Maschine zum laufen - es könnte wahrscheinlich beschleunigt werden, indem die Jungs in diesem forum:
InformationsquelleAutor MattCrum