arafat
Goto Top

zwei Spalten vergleichen und 3. Zelle zurückgeben

Hallo Forum,

folgende kleine Sache möchte ich realisieren:

Ich habe zwei Tabellenblätter:

Blatt1:

Spalte A Werte "Nummer"

Blatt 2:

Spalte B Werte "Nummer", Spalte D Werte "Zeit"


Ich möchte jetzt:

Wenn Zelle aus Blatt1 A1 in Blatt2 Spalte B vorkommt den Wert aus Blatt 2 Spalte D ausgeben


Ich hab schon mit sverweis rumprobiert aber irgendwie funktioniert das nicht.


Habt Ihr ne Lösung parat? Währe extrem Dankbar!


Gruß Markus

Content-ID: 85875

Url: https://administrator.de/contentid/85875

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

wakko
wakko 18.04.2008 um 16:49:20 Uhr
Goto Top
Moin,

SVERWEIS passt schon:

=SVERWEIS(A1;Tabelle2!$A$1:$D$100;4;0)
In Blatt1 Zelle D1 eintragen und runterkopieren.
Die Matrix(A1:D100) evt. anpassen...
Gruß,
wakko
Arafat
Arafat 18.04.2008 um 17:02:30 Uhr
Goto Top
soweit war ich auch schon:

Ergebnis: #NV


und nu?
bastla
bastla 18.04.2008 um 19:02:01 Uhr
Goto Top
... und nu fangen wir eben den Fall ab, dass es zum Wert in der ersten Tabelle keinen passenden in der zweiten Tabelle gibt (und suchen dort zur Sicherheit in Spalte B face-wink):
=WENN(ISTNV(SVERWEIS(A1;Tabelle2!$B$1:$D$100;3;0));"";SVERWEIS(A1;Tabelle2!$B$1:$D$100;3;0))  

Grüße
bastla
tacker
tacker 18.04.2008 um 19:02:05 Uhr
Goto Top
salü!

ich frage jetz ma ganz dumm in den raum was meinste mit ausgeben ?

das ganze als kleines makro zu schreiben steht ausser frage? ansonsten könntest du folgendes beispiel einmal anwenden, welches dir die werte "Zeit" aus spalte D des zweiten tabellenblatts als msgbox ausgibt:

Sub test()
Dim zeile
Dim tb1
Dim tb2

zeile = 1
Set tb1 = Excel.ActiveWorkbook.Worksheets(1)
Set tb2 = Excel.ActiveWorkbook.Worksheets(2)

Do While tb1.Cells(zeile, 1) <> ""  
If tb1.Cells(zeile, 1) = tb2.Cells(zeile, 2) Then
MsgBox (tb2.Cells(zeile, 4))
End If
zeile = zeile + 1

Loop

End Sub


wenn ich völlig schief liegen sollte - so tut es mir leid face-smile

edit: ok ich stand aufm schlauch, war wohl einfach simpler zu lösen.. lass es trotzdem ma im raum stehen face-smile


gruss tacker
Guenni
Guenni 18.04.2008 um 19:14:13 Uhr
Goto Top
@Arafat

Hi,

warum verwendest du nicht einfach wenn?

=WENN(A1=Tabelle2!B1;Tabelle2!D1;"")  

Wenn A1 = Tabelle2!B1, gib Tabelle2!D1 aus, ansonsten nix.

Gruß
Günni
Arafat
Arafat 21.04.2008 um 11:28:48 Uhr
Goto Top
Als Ergebnis bekomme ich hier keine Angaben ?!

Es ist ja auch nicht gegeben, dass der Wert von A1 immer in B1 zu finden ist, er könnte irgendwo in der Spalte B1 liegen
Arafat
Arafat 21.04.2008 um 11:49:13 Uhr
Goto Top
das ist schon mal nicht schlecht - wenn ich die 0 am Ende von SVERWEIS mit WAHR tausche bekommen ich auch die richtigen Werte bei diesem simplen Beispiel - allerdings:

Im der realen, komplexeren Tabelle gibt er mir allerdings immer den Wert der Zelle oberhalb von $D$100;3
bastla
bastla 21.04.2008 um 13:23:14 Uhr
Goto Top
Hallo Arafat!

... gibt er mir allerdings immer den Wert der Zelle oberhalb von $D$100;3
Wenn Du auch die 0 am Ende durch WAHR ersetzen musstest ... face-wink

Tatsächlich ist die 0 (oder, nach Belieben, auch FALSCH) erforderlich, damit eben nur genau übereinstimmende Werte gefunden werden - mit WAHR wird nur der passende Bereich gesucht (also der letzte Wert der ersten Spalte des angegebenen Zellbezuges, der kleiner oder gleich dem Suchbegriff ist - Voraussetzung ist dann natürlich auch noch eine aufsteigende Sortierung).

Grüße
bastla
excelbase
excelbase 21.04.2008 um 17:00:58 Uhr
Goto Top
Hi,

ich löse das Problem meist mit SUMMENPRODUKT, also z.B.

=SUMMENPRODUKT((Abfrage!$A$5:$A$65536=$A1)*(Abfrage!$B$5:$B$65536=$B1)*Abfrage!$C$5:$C$65536)

wobei Abfrage! der Name der jeweligen Mappe ist.

Viele Grüße

excelbase
Arafat
Arafat 22.04.2008 um 10:13:54 Uhr
Goto Top
hmm - das kann wohl sein

liegt wohl daran, dass die einen Werte aus eienr Datenbank kommen und mit vorangestelltem ' angezeigt werden (wegen führenden Nullen)

wenn ich das in den Griff bekomme, wäre ich wahrscheinlich durch


Danke für deine Hilfe!