Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Suche nach Daten in einer Matrix





Frage

Hallo Gemeinde, ich habe da mal wieder ein Problem mit Excel und hoffe ihr könnt mir dabei helfen. Ich habe zwei Tabellen. In einer Tabelle stehen ein paar Namen zu denen immer verschiedene Daten eingespflegt sind. z.B. - Tabelle I A - B - C - D Sa - 01.01. - Müller So - 02.01. - Schneider Mo - 03.01. - Bäcker In der anderen Tabelle habe ich eine Matrix erstellt, wo zusätzliche Daten zu den Namen stehen. z.B. - Tabelle II A - B Müller - Frau Dr. Müller Schneider - Herr Dr. med. Schneider Bäcker - Frau Dipl. Psychl. Bäcker Ich möchte nun jetzt, das in Tabelle I Spalte D, steht ob dieser Name in der Matrix (Tabelle II, Spalte A)vorhanden ist. Wenn der Name vorhanden ist, soll die "Spalte D" leer bleiben. Wenn der Name nicht vorhanden ist, soll in "Spalte D" ein entsprechter Text (z.B. "Name nicht vorhanden") erscheinen. Ist dieses möglich? Und wenn ja wie stelle ich das an? Hoffe Ihr könnt mir dabei helfen. Ich danke euch schonmal im Vorraus. mfg, SportyBTU

Antwort 1 von coros

Hi SportyBTU,

kopiere nachfolgendes Makro in ein StandardModul und weise es einer Befehlsschaltfläche zu.

Option Explicit

Sub Namen_suchen()
Dim Wiederholungen As Long, Zeile_Tab1 As Long, Zeile_Tab2 As Long, _
Suchbegriff As String, Fundbegriff As Range, Addresse As String
Zeile_Tab1 = Sheets("Tabelle1").Range("C65536").End(xlUp).Row
Zeile_Tab2 = Sheets("Tabelle2").Range("A65536").End(xlUp).Row
For Wiederholungen = 2 To Zeile_Tab1
Suchbegriff = Sheets("Tabelle1").Cells(Wiederholungen, 3)
With Sheets("Tabelle2").Range("A2:A" & Zeile_Tab2)
Set Fundbegriff = .Find(What:=Suchbegriff, LookIn:=xlValues)
If Not Fundbegriff Is Nothing Then
Addresse = Fundbegriff.Address
Do
Set Fundbegriff = .FindNext(Fundbegriff)
Loop While Not Fundbegriff Is Nothing And Fundbegriff.Address <> Addresse
Else
Sheets("Tabelle1").Cells(Wiederholungen, 4) = "Name nicht vorhanden"
End If
End With
Next
End Sub


Bei dem Makro werden die Einträge aus Blatt "Tabelle1" Spalte C mit den Einträgen aus Blatt "Tabelle2" Spalte A verglichen. Wenn Übereinstimmungen gefunden werden, geschieht nichts. Wenn aber der Eintrag aus Blatt "Tabelle1" nicht in Blatt "Tabelle2" vorhanden ist, dann wird in Blatt "Tabelle1" in Spalte D in der gleichen Zeile wie der nicht gefundene Eintrag der Text "Name nicht vorhanden" hingeschrieben.

Ich hoffe, Du hast das so gmeint. Bei Fragen oder Problemen melde Dich.

Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Aliba

Hi,

alternativ die Formellösung:

=WENN(ISTNV(VERGLEICH(C1;Tabelle2!A:A;0));"Name nicht vorhanden";"")

Wenn es bei gleichen Namen unterschiedliche Personen gibt, wird dies natürlich nicht berücksichtigt, da ja in Tabelle1 nur der Nachname steht.

CU Aliba

Antwort 3 von SportyBTU

Hallo Leutz,

da ich mich mit Makros nicht so auskenne, habe ich versucht das mit einer Formel irgendwie hinzubekommen - was dann zum Glück geklappt hat.

Man muss halt es lange ausprobieren - bis man zum Erfolg kommt.

Es war die gleiche Formel wie von Aliba, die ich dann irgendwann rausgefunden habe.

Trotzdem Danke für eure Hilfe.

SportyBTU

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: