Ich habe zwei Arbeitsblätter in zwei verschiedenen Excel-Dateien. Beide enthalten eine Liste mit Namen, ID-Nummern und zugehörigen Daten. Eine ist eine Hauptliste, die allgemeine demografische Felder enthält, und die andere ist eine Liste, die nur Namen und ID sowie eine Adresse enthält. Diese Liste wurde von einem anderen Büro aus der Hauptliste gestrichen.
Ich möchte die zweite Liste verwenden, um die erste zu filtern. Zusätzlich möchte ich, dass die Ergebnisse neben den Adressfeldern aus dem zweiten Arbeitsblatt auch andere Felder aus dem Master-Arbeitsblatt enthalten. Ich weiß, wie ich das mit einem Datenbank-Inner-Join sehr einfach machen kann, aber ich bin mir nicht so sicher, wie ich das effizient in Excel machen kann. Wie können zwei Arbeitsblätter in Excel verknüpft werden? Bonuspunkte, um zu zeigen, wie man auch äußere Verknüpfungen ausführt, und ich würde es sehr bevorzugen, zu wissen, wie man dies ohne ein Makro ausführt.
quelle
=INDEX ( Column_I_want_a_return_value_from , ( MATCH ( My_Lookup_Value , Column_I_want_to_Lookup_against , 0 ))
Antworten:
Für 2007+ Verwendung
Data
>From Other Sources
>From Microsoft Query
:Excel File
und wählen Sie Ihre 1. Excel(wenn Sie keine Spaltenliste sehen, stellen Sie sicher, dass
Options
> markiert istSystem Tables
)Data
>Connections
> [wählen Sie die Verbindung gerade erstellt]>Properties
>Definition
>Command text
Sie können dies jetzt
Command text
als SQL bearbeiten . Ich bin nicht sicher, welche Syntax unterstützt wird, aber ich habe implizite Verknüpfungen, "innere Verknüpfung", "linke Verknüpfung" und Gewerkschaften ausprobiert, die alle funktionieren. Hier ist eine Beispielabfrage:quelle
Unterstützen Sie die akzeptierte Antwort. Ich möchte nur "Spalten auswählen" hervorheben (wenn Sie keine Spaltenliste sehen, überprüfen Sie bitte Optionen> Systemtabellen).
Sobald Sie die Excel-Datei ausgewählt haben, wird höchstwahrscheinlich eine
this data source contains no visible tables
Eingabeaufforderung angezeigt, und die verfügbaren Registerkarten und Spalten sind keine. Microsoft gab zu, dass dies ein Fehler ist, dass die Registerkarten in den Excel-Dateien als "Systemtabellen" behandelt werden und die Option für "Systemtabellen" standardmäßig nicht ausgewählt ist. Also keine Panik bei diesem Schritt, Sie müssen nur auf "Option" klicken und "System Tables" (Systemtabellen) markieren, dann sehen Sie die verfügbaren Spalten.quelle
VLOOKUP und HLOOKUP können verwendet werden, um nach passenden Primärschlüsseln (vertikal oder horizontal gespeichert) zu suchen und Werte aus Attributspalten / -zeilen zurückzugeben.
quelle
Sie können Microsoft Power Query verwenden, das für neuere Versionen von Excel verfügbar ist (ähnlich der akzeptierten Antwort, aber viel einfacher und einfacher). Power Query-Aufrufe verbinden "Zusammenführungen".
Am einfachsten ist es, Ihre 2 Excel-Tabellen als Excel-Tabellen zu haben. Wechseln Sie in Excel zur Registerkarte Power Query und klicken Sie auf die Schaltfläche "Aus Excel". Nachdem Sie beide Tabellen in Power Query importiert haben, wählen Sie eine aus und klicken Sie auf "Zusammenführen".
quelle
Aprillions Antwort mit Microsoft Query finde ich ausgezeichnet, aber es hat mich dazu inspiriert, Microsoft Access zu verwenden, um die Datenblätter zu verknüpfen, die ich viel einfacher fand.
Sie müssen natürlich MS Access installiert haben.
Schritte:
Get External Data
Sie diese Option, um Ihre Excel-Daten als neue Tabellen zu importieren.Relationships
Zeigen Sie mit, wie Ihre Tabellen verknüpft sind.External Data->Export to Excel
, um Ihre Ergebnisse zu generieren.Ich hätte das wirklich nicht tun können ohne Aprillions großartige Antwort.
quelle
Sie können keine SQL-Verknüpfungen für Excel-Tabellen in Excel durchführen. Das heißt, es gibt mehrere Möglichkeiten, um das zu erreichen, was Sie versuchen.
In Excel, wie Reuben sagt, sind
VLOOKUP
und die Formeln, die wahrscheinlich am besten funktionieren werdenHLOOKUP
. In beiden Fällen stimmen Sie mit einer eindeutigen Zeile überein und es wird der Wert der angegebenen Spalte \ Zeile nach links \ unten von der gefundenen ID zurückgegeben.Wenn Sie der zweiten Liste nur ein paar zusätzliche Felder hinzufügen möchten, fügen Sie die Formeln der zweiten Liste hinzu. Wenn Sie eine "Outer Join" -Stiltabelle möchten, fügen Sie die
VLOOKUP
Formel der ersten Liste mit hinzuISNA
, um zu testen, ob die Suche gefunden wurde. Wenn Ihnen in der Excel-Hilfe nicht genügend Informationen zur Verwendung dieser Funktionen in Ihrer jeweiligen Instanz zur Verfügung stehen, teilen Sie uns dies mit.Wenn Sie lieber SQL verwenden, verknüpfen Sie die Daten mit Ihrem Datenbankprogramm, erstellen Sie Ihre Abfrage und exportieren Sie die Ergebnisse zurück nach Excel. (In Access können Sie Excel-Arbeitsblätter oder benannte Bereiche als verknüpfte Tabelle importieren.)
quelle
Bei XLTools.net haben wir eine gute Alternative für MS Query geschaffen, um insbesondere mit SQL Queries gegen Excel-Tabellen zu arbeiten. Es heißt XLTools SQL Queries . Es ist viel einfacher zu bedienen als MS Query und funktioniert wirklich gut, wenn Sie nur SQL erstellen und ausführen müssen - kein VBA, keine komplexen Manipulationen mit MS Query ...
Mit diesem Tool können Sie mithilfe des eingebetteten SQL-Editors eine beliebige SQL-Abfrage für Tabellen in Excel-Arbeitsmappen erstellen und diese sofort ausführen. Dabei können Sie das Ergebnis in ein neues oder ein vorhandenes Arbeitsblatt einfügen.
Sie können fast jeden Join-Typ verwenden, einschließlich LEFT OUTER JOIN (nur RIGHT OUTER JOIN und FULL OUTER JOIN werden nicht unterstützt).
Hier ist ein Beispiel:
quelle
Für Excel 2007-Benutzer: Daten> Aus anderen Quellen> Aus Microsoft Query> Navigieren Sie zur Excel-Datei
Laut diesem Artikel kann das Abfragen von XLS-Version 2003 zu "Diese Datenquelle enthält keine sichtbaren Tabellen" führen. Fehler, da Ihre Arbeitsblätter als SYSTEM-Tabelle behandelt werden. Überprüfen Sie daher die "Systemtabellen" in den Optionen des Dialogfelds "Abfrage-Assistent - Spalten auswählen", wenn Sie die Abfrage erstellen.
So definieren Sie Ihre Verknüpfung: Microsoft Query-Dialogfeld> Menü Tabelle> Verknüpfungen ...
Wählen Sie "Daten an Excel-Arbeitsblatt zurückgeben" im Microsoft Query-Dialogfeld> Menü "Datei", um Daten an Ihr ursprüngliches Excel-Arbeitsblatt zurückzugeben.
quelle
Wenn Sie mit Datenbanken vertraut sind, können Sie beide Arbeitsblätter mit SQL Server als Verbindungsserver verbinden und dann mit T-SQL Ihre Back-End-Daten bearbeiten. Schließen Sie dann ab, indem Sie Excel wieder mit SQL verbinden und die Daten in eine Tabelle (regulär oder Pivot) ziehen. Sie können auch Powerpivot verwenden. Es ermöglicht Verknüpfungen zwischen beliebigen Datenbankquellen, einschließlich Excel, das als flache Datenbanken verwendet wird.
quelle
Auf der Suche nach dem gleichen Problem stieß ich auf RDBMerge , eine meiner Meinung nach benutzerfreundliche Methode zum Zusammenführen von Daten aus mehreren Excel-Arbeitsmappen, CSV- und XML-Dateien in einer zusammenfassenden Arbeitsmappe.
quelle