Seite 1 von 1

Textsuche in einer Matrix

Verfasst: So 3. Dez 2017, 16:40
von DH1MP
Moin, Moin,

nach tagelanger Recherche und Rumprobieren wende ich mich nun an dieses Forum:

Ich möchte in einer Datentabelle einen Text (Ort) suchen und den in der nebenliegenden Zelle befindlichen Code in die Ergebniszelle schreiben.

Die Datentabelle kann zwei Formate haben und sieht in meiner ersten Version folgendermaßen aus:
Version 1.png
Version 1.png (25.32 KiB) 4147 mal betrachtet
in der zweiten Version so:
Version2.png
Version2.png (26.72 KiB) 4147 mal betrachtet
Mit keiner der beiden Datentabellenstrukturen ist es mir gelungen, den in der Ortsabfragezelle D2 angegebenen Ort in der Spalte B der ersten Version zu finden und dem Code der Spalte A in der Zelle E2 zuordnen zu können, bzw. den Ort in der zweiten Version in den Zeilen B2:K... zu finden und dem entsprechenden Code in Spalte A zuordnen zu können.

Es erfordert eine Textsuche in einer Matrix, die ich herauszufinden nicht in der Lage war, da alle Funktionen (und Tutorials) (S/W-)Verweis, Index, Suchen, etc. nur Vektoren zulassen. Oder sehe ich das (hoffentlich) falsch.

Eine andere Möglichkeit besteht natürlich, die Tabelle komplett umzustricken und unter jeden Ort den Code zu schreiben. Aber damit wird die ganze Sache extrem unübersichtlich. Am liebsten wäre es mir, wenn die die Datentabelle die Struktur der Version 1 hätte, da diese unter Umständen noch erweitert werden muß.

Mit besten Grüßen und der Hoffnung auf Hilfe,
DH1MP

Re: Textsuche in einer Matrix

Verfasst: So 3. Dez 2017, 17:42
von F3K Total
Hi,
mit der Variante 2 geht es ganz gut, siehe Beispiel anbei, es handelt sich in B14 um eine Matrixformel:

Code: Alles auswählen

{=INDEX(A1:A12;MAX((B2:O12=$A$14)*ZEILE(B2:O12)))}
D.h. nach den Eintippen ohne geschweifte Klammern, mit STRG+SHIFT+ENTER abschliessen.
Gruß R

Re: Textsuche in einer Matrix

Verfasst: So 3. Dez 2017, 20:33
von mikele
Hallo,
nur als Ergänzung: Die Variante 1 ist ungünstig, da bei doppelt auftauchenden Ortsnamensteilen Verwirrung entsteht. Nach "Hersfeld" suchen, kann dann zu "Hersfeld-Rotenburg" führen.
Anstelle der Matrixformel klappt auch:

Code: Alles auswählen

=INDEX(A1:A12;SUMMENPRODUKT(B2:O12=$A$14;ZEILE(B2:O12)+0*SPALTE(B2:O12)))
Die Konstruktion ZEILE(B2:O12)+0*SPALTE(B2:O12) liefert interessanterweise eine Matrix mit den Zeilennummern, wohingegen ZEILE(B2:O12) nur einen einspaltigen Vektor liefert und dann in der obigen Formel einen Fehler verursacht.

Re: Textsuche in einer Matrix

Verfasst: So 3. Dez 2017, 23:49
von DH1MP
Moin, Moin,

herzlichen Dank! Das war ja superschnell!

Werde ich gleich einbauen!

Toller Support hier

Vielen Dank und ein gesegnetes Fest
DH1MP

Re: Textsuche in einer Matrix

Verfasst: Mo 4. Dez 2017, 10:25
von DH1MP
Also:
ich habe die Formeln beide mal in meiner Tabelle integriert und beide funktionieren soweit ganz gut.
Allerdings habe ich keinen Plan, wie man auf solcherart Formeln überhaupt kommen kann. Ich habe ein bischen damit experiementiert, aber nicht herausgefunden, WIE sie funktionieren!

Da ich gerne deren Funktionsweise verstehen und nicht nur Vorgekautes verarbeiten möchte, bitte ich Euch um eine Schritt-für-Schritt-Erklärung.
Dann kann ich beim nächsten Mal anwenden, ohne fragen zu müssen :D

Vielen Dank nochmals im Voraus,
DH1MP

Re: Textsuche in einer Matrix

Verfasst: Mo 4. Dez 2017, 17:03
von F3K Total
Hi,
das Problem mit der Zeile und dem Summenprodukt, das mikele beschreibt, hatte ich auch, daher bin ich bei der Matrixformel geblieben.
Ich erkläre: Das Ziel ist das herausbekommen der Zeile, in der ein Ort steht, denn in der ersten Spalte dieser Zeile steht der Code. Zerlegen wir die Matrixformel,
  • Teil 1:

    Code: Alles auswählen

    =(B2:O12=$A$14)
    gibt eine 1(WAHR) in der Zelle, die gleich $A$14 ist, eine Null (FALSCH) für alle anderen Zellen
  • Teil 2:

    Code: Alles auswählen

    =ZEILE(B2:O12)
    gibt in jeder dieser Zellen die aktuelle Zeilennummer
  • beide miteinander multipliziert, gibt in der Trefferzelle die Zeilennummer, alle anderen Zellen enthalten eine Null
  • das MAXimum davon kann nur eine Zahl, die Zeilennummer sein.
  • per INDEX wird nun der Code gefunden
Gesamt.PNG
Gesamt.PNG (81.56 KiB) 4089 mal betrachtet
HTH R

Re: Textsuche in einer Matrix

Verfasst: Di 5. Dez 2017, 20:23
von DH1MP
Hervorragend!
Herzlichen Dank!