BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Textsuche in einer Matrix
Textsuche in einer Matrix
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:
in der zweiten Version so:
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
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:
in der zweiten Version so:
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
Hi,
mit der Variante 2 geht es ganz gut, siehe Beispiel anbei, es handelt sich in B14 um eine Matrixformel:D.h. nach den Eintippen ohne geschweifte Klammern, mit STRG+SHIFT+ENTER abschliessen.
Gruß R
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)))}
Gruß R
- Dateianhänge
-
- CODE_FINDEN.ods
- (14.08 KiB) 142-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Textsuche in einer Matrix
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:
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.
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)))
Gruß,
mikele
mikele
Re: Textsuche in einer Matrix
Moin, Moin,
herzlichen Dank! Das war ja superschnell!
Werde ich gleich einbauen!
Toller Support hier
Vielen Dank und ein gesegnetes Fest
DH1MP
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
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
Vielen Dank nochmals im Voraus,
DH1MP
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
Vielen Dank nochmals im Voraus,
DH1MP
Re: Textsuche in einer Matrix
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,
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:gibt eine 1(WAHR) in der Zelle, die gleich $A$14 ist, eine Null (FALSCH) für alle anderen Zellen
Code: Alles auswählen
=(B2:O12=$A$14)
- Teil 2:gibt in jeder dieser Zellen die aktuelle Zeilennummer
Code: Alles auswählen
=ZEILE(B2:O12)
- 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
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Textsuche in einer Matrix
Hervorragend!
Herzlichen Dank!
Herzlichen Dank!
An alle, die das LibreOffice-Forum nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️