2012-04-11 11 views
0

Ich habe viele Excel-Daten verteilt über 32 Dokumente in einem identischen Format, die Informationen auflisten. Die kombinierte Summe würde über 6 Millionen Zeilen betragen.Excel - Enorme Vlookup Concatenate erforderlich für Minor-Prozedur

Ich habe ein anderes Dokument, das ein paar tausend Zeilen enthält. Das CONCATENTATE der Spalten C, E und L in diesem neuen Dokument könnte dasselbe wie das CONCATENATE der Spalten D, F und N in jedem der anderen 32 Dokumente sein.

Ich möchte Informationen finden, die die gleichen sind und das Loch viel davon für jede Zeile in dem kleinen Dokument aus jedem der größeren Dokumente greifen.

Im Moment erforderte dies, dass ich die Informationen zu jedem der größeren Dokumente verketten, alle Leerzeichen und Interpunktion entfernen und 32 IFERROR-Berechnungen verwenden, die jeweils einen SVERWEIS enthalten. Der letzte dauerte die ganze Nacht. Alle anderen haben den Computer abgestürzt.

Das muss ein besserer Weg sein, dies zu tun ???

EG.

Kleines Dokument:

TITLE1 | TITEL2 | TITLE3

Größere Dokumente (alle 32)

fact1 | FACT2 | FACT3 | TITEL1 | TITEL2 | FACT4 | TITLE3

Wenn die Verkettung von Titel 1,2 und 3 des kleinen Dokuments die gleichen Informationen in einer der Konkatationen von Titel 1,2 und 3 (Entfernen aller Leerzeichen und Interpunktion) aus dem größeren Dokument findet. Ich möchte alle Informationen für diese Zeile aus dem größeren Dokument kopieren, einschließlich der Titel und Fakten, die neben der Informationszeile im kleineren Dokument liegen.

+0

Sind die Daten in jeder Ihrer 32 Dateien alle auf einem einzelnen Blatt oder enthalten Ihre Dateien mehrere Blätter? –

+0

@TIM Einzelblatt für jedes –

Antwort

0

Wenn es eine Struktur gibt, damit Sie wissen, in welchem ​​Blatt Sie suchen müssen, können Sie sehen, ob die INDIREKT-Funktion Ihnen helfen kann. Andernfalls schlage ich vor, dass Sie die Daten in eine Datenbank (z. B. Access) importieren und dann Ihre Daten abfragen.

2

Ai yai yai. Excel ist nicht dafür gemacht, so etwas zu machen. Es ist einfach das falsche Werkzeug. Unter der Annahme, dass Sie daran festhalten, würde ich versuchen, eine Access-Datenbank zu erstellen, jede benötigte Tabelle zu verknüpfen und dann eine Abfrage zu schreiben. Ich weiß nicht genau, was Sie mit den übereinstimmenden Informationen tun möchten, aber Sie können sie in eine neue Tabelle exportieren oder eine Tabelle mit dieser Abfrage verknüpfen.

In Access (2007+), gehen Sie auf die Registerkarte Externe Daten, klicken Sie auf Excel im Abschnitt Importieren, wählen Sie dann Link. Wenn das immer noch zu langsam ist, müssen Sie die Kalkulationstabellen kopieren und die Abfrage durchführen.

1

Wäre viel besser in einer Datenbank als Excel,
, aber um es effizient in Excel arbeiten zu können, müssen Sie die binäre Suchoption (sortierte ungefähre Übereinstimmung) von SVERWEIS oder MATCH verwenden. Dies ist mehrere Größenordnungen schneller als lineare (unsortierte) Suche:

1. Erstellen Sie zusätzliche Spalten, die Verkettung usw. auf den 32 Blatt und das kleine Blatt.
2. Sortieren Sie die Daten auf den 32 Blättern mit der verketteten Spalte
3.Verwenden Sie einen Doppel SVERWEIS mit IF der ungefähren Übereinstimmung in eine genaue Übereinstimmung zu drehen, so etwas wie diese

=IF(VLOOKUP(PartNumber,PartsList,1,TRUE)=PartNumber, VLOOKUP(PartNumber,PartsList,4,TRUE), “Missing”) 


Siehe http://fastexcel.wordpress.com/2012/03/29/vlookup-tricks-why-2-vlookups-are-better-than-1-vlookup/ für eine ausführlichere Erklärung dieser Formel.

+0

Charles - großer Tipp auf vlookup. Vielen Dank! –