Excel: Wert in Matrix suchen,Wert daneben ausgeben

Hallo,

ich möchte in einer Zellen-Matrix nach einem Wert suchen und, falls dieser gefunden wird, den Wert in der Zelle daneben suchen.
Bsp: (jeder Wert steht für den Inhalt einer Zelle)
A 1 B 1 C 2
X 7 Y 9 Z 3

Suchen nach Y sollte also 9 ergeben.
Mit SVerweis z.B. komme ich nicht weiter, weil dieses immer nur in einer Spalte sucht.
Gibt es hier eine einfache Lösung?

Danke!

kann ich leider nicht helfen, wünsche dir positive antworten.

Hi,

ich weiss nicht, ob meine Lösung die einfachste ist. Ich würde da Matrix-Formeln verwenden:

Ich gehe davon aus, dass Dein Beispiel in A1 beginnt.
Der zu suchende Wert steht darunter in Zelle A5.

In A6 schreibe die Formel zum Finden der Zeile:
=MAX(WENN($A$1:blush:F$2=$A$6;ZEILE($A$1:blush:F$2)))
ACHTUNG: Eingabe der Formel mit STRG+SHIFT+EINGABETASTE abschliessen, da Matrix-Formel!!!

In A7 schreibe die Formel zum Finden der Spalte:
=MAX(WENN($A$1:blush:F$2=$A$6;SPALTE($A$1:blush:F$2)))
ACHTUNG: Wieder eine Matrixformel (s.o.)

In A8 kannst Du mit dieser Formel den Wert rechts neben dem Suchwert finden:
=INDIREKT(ADRESSE($A$6;$A$7+1))
(keine Matrixformel)

OK?

Danke für die Antwort.
Allerdings brauche ich dafür mehrere Zellen pro Suche.
Da ich eine ganze Liste mit solchen Suchen füllen will, wird das dann recht aufwendig.

Hi
das geht auch in eine Zelle. Einfach zusammenpacken und wieder STRG+SHIFT+UMSCHALT

Sonst könnte eine VBA Funktion helfen. Da kann man effizient mit .find finden und mit .address die Adresse ermitteln

Bawamba

Danke für die Antwort.
Allerdings brauche ich dafür mehrere Zellen pro Suche.
Da ich eine ganze Liste mit solchen Suchen füllen will, wird
das dann recht aufwendig.

Hallo!

Bevor ich mich an die Arbeit mache, muss es eine Formel sein oder kann es auch ein Makro (VBA) sein?
Ich kenne mich mit Formeln nicht so aus, daher würde ich es mit einem Makro realisieren!

Gruß
Ralf

=======================

Hallo quack27

A 1 B 1 C 2
X 7 Y 9 Z 3
bedeutet drei (oder mehr) Spalten und zwei (oder mehr)Zeilen?

=SVERWEIS(8;A1:C10;3;FALSCH)

Suchkriterium: 8
Matrix: Spalten A - C; Zeilen 1 -10;
Spaltenindex; 3: Als Ergebnis wird der Inhalt der Spalte 3 zurückgegeben.

Die Hilfefunktion; rechts oben ist bekannt?
Fragezeichen, minimieren, wiederherstellen, schließen]

  1. auf´s ? klicken
  2. die Worte ZELLE MATRIX eingeben
  3. Suchen:

Inhalt zu SVERWEIS(Funktion) zeigt die Notwendigkeit einer andere Anordnung der Daten. Erforderlich ist eine sekrechte oder waagrechte (WVERWEIS) Anordnung.
Ist das möglich?

1 x A
2 x B
3 x C
5 x D
5 x E
6 x F
7 x G
8 x H
9 x I
10 x J

=SVERWEIS(8;A1:C10;3;FALSCH)
Ergebnis: H
LG

Eine andere Anordnung der Daten ist leider nicht möglich, da es pro Zeile noch weitere - dann aber gemeinsame - Bezugsdaten gibt.
SVERWEIS hilft daher hier nicht.

VBA kommt leider nicht in Frage.

Hallo,

ich bin derzeit unterwegs und kann daher die Frage nicht bearbeiten.

Beste Grüße
H. Schuster

Kurzer Beispielcode für eine Function:

Function Nachbar(Text)
 Cells.Select
 Selection.Find(What:=Text).Activate
 Nachbar = ActiveCell.Offset(0, 1)
End Function
Sub Test()
'Suche nach Buchstaben
a = Nachbar("A")
MsgBox a
'Suche nach Zahl
a = Nachbar(1)
MsgBox a

Vorteil der Function: man in eine Zelle schreiben:

=Nachbar(Bezugszelle)

Sorry, da hab ich eine alte function kopiert.
Es geht auch ohne den Bezug zu ändern oder ein select auszuführen:

Function Nachbar(Text)
 MyAddress = Cells.Find(What:=Text).Address
 Nachbar = Range(MyAddress).Offset(0, 1)
End Function
Sub Test()
'Suche nach Buchstaben
a = Nachbar("A")
MsgBox a
'Suche nach Zahl
a = Nachbar(1)
MsgBox a
End Sub

un muss heißen: man kann in eine Zelle

hallo,

mit der Formel sverweis oder wverweis kannst du in einer matrix suchen. aber, eine reihe muß sortiert sein, entweder nach alphabet oder numerisch.
das wäre der schnellste weg.

tschüß
frank

Danke für die Funktion.
VBA ist nicht meine Favorisierte Lösung, aber vielleicht erweist es sich doch als der Beste Weg.

sverweis kommt, wie geschrieben nicht in Frage, da ich die Datenquelle vom Format nicht ändern kann.
Inzwischen habe ich eine Lösung mit Index und Vergleich gefunden. Ist etwas länglich aber funktioniert.

Danke für die Antwort.

Hallo Quack,

Tabellenblattname: Tabelle1

 A B C D E F G H I 
1 A 1 B 1 C 2 Suchen: Z 
2 X 7 Y 9 Z 3 Ergebnis: 3 

Benutzte Formeln:
I2: =INDEX(A:F;MIN(WENN($A$1:blush:F$2=$I$1;ZEILE($A$1:blush:F$2);99999));MIN(WENN($A$1:blush:F$2=$I$1;SPALTE($A$1:blush:F$2);99999))+1)

Die Formel in I2 muss als Matrix-Formel eingegeben werden, d.h. Eingabe der Formel mit Tastenkombination Shift+Strg+Enter abschliessen.

Gruß
Franz

Hi,

das müsste mit VLookup (ich glaube Lookup entspricht im dt. Excel der Verweis-Funktion) gehen.
Der Verweis ist in Spaltenform aber die Funktion kann man dann über das ganze Excel-Sheet verwenden (mit den $-Zeichen um die Verweis-Spalten zu fixieren).

Gruss
Gina

Tut mir leid, offensichtlich hab ich die Anfrage mangels Daten nicht verstanden.
Heisst, es gibt mehrere Bezugsdaten in einer Zeile und dann erst das zu findende Ergebnis?
Bringen Suchfunktionen etwas?:
Wenn…
suchen
(Koordinaten der gefundenen Zelle ausgeben und um die gewünschte Spalte erhöhen bzw. verändern …)

Hallo,

danke für die Antwort. Ich habe das Problem inzwischen mittels einer Verknüpfung von Index und Vergleich gelöst, da die Zahl der möglichen Such-Spalten vorher bekannt ist. Ist etwas länger geworden, funtkioniert aber.

Danke. Matrixformeln habe ich noch nie benutzt, aber das sieht vielversprechend aus.