1.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Zusammen,

Ich habe folgendes Problem.
Und zwar habe ich 2 lange Datensätze in 2 nebeneinander liegenden Spalten.
Hierbei möchte ich die Übereinstimmungen in einer 3. Spalte angegeben haben.
Sprich wenn nur ein Titel in der 1. und der 2. Spalte übereinstimmt soll auch nur ein Titel in der 3. Spalte stehen. Ich habe bereits mit Sverweis, Index, Vergleich Formel etc. herumexperimentiert allerdings zu keinem Ergebnis gekommen.

Wenn ihr mir helfen könntet wäre ich euch sehr dankbar!

Besten Dank und viele Grüsse
Frank

6 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Frank,

ein paar Beispiele könnten uns das Nachdenken erleichtern.

Das trifft übrigens auch auf deine andere Frage zu.

Gruß
Rainer
0 Punkte
Beantwortet von steffen2 Experte (6.4k Punkte)
in Spalte 1 und 2 die Werte, dann in Spalte 3 das:
=WENN(A1=B1;A1;"---")
oder
=WENN(A1=B1;"gleich";"ungleich")



Wenn das nicht hilft, dann Antwort 1 nochmal lesen

Gruß Steffen2
0 Punkte
Beantwortet von
Hallo,
Ich habe anbei mal versucht die Problematik etwas besser zu veranschaulichen:

[list]Spalte 1
Pfizer Inc
Eli Lilly and Co
Bristol-Myers Squibb Co
Shire PLC
UCB SA
AbbVie Inc
Stada Arzneimittel AG
Roche Holding AG
Fresenius SE & Co KGaA
Fresenius Medical Care AG & Co KGaA
Essilor International SA
GlaxoSmithKline PLC
Johnson & Johnson
Zoetis Inc
Lonza Group AG
Ipsen SA
Hikma Pharmaceuticals PLC
Qiagen NV
Rhoen Klinikum AG
Morphosys AG
Bayer AG
Zealand Pharma A/S
Adocia SA
Innate Pharma SA
AstraZeneca PLC
Novo Nordisk A/S
Merck KGaA
Actelion Ltd
Merck & Co Inc
ABB Ltd


[/list][list]Spalte 2
ABB Ltd
Actelion Ltd
Air Liquide SA
BASF SE
Compagnie de Saint Gobain SA
Infineon Technologies AG
Koninklijke DSM NV
Koninklijke Philips NV
Linde AG
Merck & Co Inc
Merck KGaA
SAP SE
Siemens AG
Syngenta AG
Vinci SA

Schnittmenge von Spalte 1 und 2
Output Spalte 3

Merck KGaA
Actelion Ltd
Merck & Co Inc
ABB Ltd
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Frank,

in diesem Falle würde ich auf eine Formellösung verzichten.

Füge folgenden Code in den Codebereich des relevanten Arbeitsblattes ein und starte ihn.
Option Explicit

Sub vergleich()
Dim rngC As Range
Application.ScreenUpdating = False
For Each rngC In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row + 1)
If WorksheetFunction.CountIf(Range("B:B"), rngC) Then
Range("C" & Cells(Rows.Count, 3).End(xlUp).Row + 1) = rngC
End If
Next
Application.ScreenUpdating = True
End Sub


Die Vergleichsspalten sind hierbei A und B und C ist die Ergebnisspalte.

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo Rainer,
herzlichen Dank für den VBA Code. Dieser funktioniert auch sehr gut.
Eine Frage habe ich jedoch noch.
Wenn ich den Durchlauf mehrfach hintereinander starte fügt er in Spalte 3 die übereinstimmenden Felder erneut unten an.
Kann man dies so ändern, dass er das Ergebnis immer in C3 ausgibt und die vorherigen Werte überschreibt?

Viele Grüsse
Frank
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Frank,

füge unter
Application.ScreenUpdating = False


folgende Zeile ein

Range("C2:C" & Cells(Rows.Count, 3).End(xlUp).Row + 1).ClearContents


Gruß
Rainer
...