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-Key: 85875

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

Printed on: April 19, 2024 at 05:04 o'clock

Member: wakko
wakko Apr 18, 2008 at 14:49:20 (UTC)
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
Member: Arafat
Arafat Apr 18, 2008 at 15:02:30 (UTC)
Goto Top
soweit war ich auch schon:

Ergebnis: #NV


und nu?
Member: bastla
bastla Apr 18, 2008 at 17:02:01 (UTC)
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
Member: tacker
tacker Apr 18, 2008 at 17:02:05 (UTC)
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
Member: Guenni
Guenni Apr 18, 2008 at 17:14:13 (UTC)
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
Member: Arafat
Arafat Apr 21, 2008 at 09:28:48 (UTC)
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
Member: Arafat
Arafat Apr 21, 2008 at 09:49:13 (UTC)
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
Member: bastla
bastla Apr 21, 2008 at 11:23:14 (UTC)
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
Member: excelbase
excelbase Apr 21, 2008 at 15:00:58 (UTC)
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
Member: Arafat
Arafat Apr 22, 2008 at 08:13:54 (UTC)
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!