BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> 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

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
DH1MP
Beiträge: 7
Registriert: So 3. Dez 2017, 16:00

Textsuche in einer Matrix

Beitrag von DH1MP » So 3. Dez 2017, 16:40

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) 2731 mal betrachtet
in der zweiten Version so:
Version2.png
Version2.png (26.72 KiB) 2731 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

F3K Total
Beiträge: 2409
Registriert: So 10. Apr 2011, 10:10

Re: Textsuche in einer Matrix

Beitrag von F3K Total » So 3. Dez 2017, 17:42

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
Dateianhänge
CODE_FINDEN.ods
(14.08 KiB) 141-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Textsuche in einer Matrix

Beitrag von mikele » So 3. Dez 2017, 20:33

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.
Gruß,
mikele

DH1MP
Beiträge: 7
Registriert: So 3. Dez 2017, 16:00

Re: Textsuche in einer Matrix

Beitrag von DH1MP » So 3. Dez 2017, 23:49

Moin, Moin,

herzlichen Dank! Das war ja superschnell!

Werde ich gleich einbauen!

Toller Support hier

Vielen Dank und ein gesegnetes Fest
DH1MP

DH1MP
Beiträge: 7
Registriert: So 3. Dez 2017, 16:00

Re: Textsuche in einer Matrix

Beitrag von DH1MP » Mo 4. Dez 2017, 10:25

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

F3K Total
Beiträge: 2409
Registriert: So 10. Apr 2011, 10:10

Re: Textsuche in einer Matrix

Beitrag von F3K Total » Mo 4. Dez 2017, 17:03

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) 2673 mal betrachtet
HTH R
Windows 10: AOO, LO Linux Mint: AOO, LO

DH1MP
Beiträge: 7
Registriert: So 3. Dez 2017, 16:00

Re: Textsuche in einer Matrix

Beitrag von DH1MP » Di 5. Dez 2017, 20:23

Hervorragend!
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 ❤️

Antworten