❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

CALC ist die Tabellenkalkulation, die Sie immer wollten.
DonCarbon
Beiträge: 6
Registriert: Do 30. Apr 2015, 11:45

Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von DonCarbon » Do 30. Apr 2015, 12:16

Hallo liebe Leute,

Dies ist mein erster Post in diesem Forum, deswegen eine kurze Vorstellung meinerseits.
Ich bin 25, Student der Geologie an der Bergakademie Freiberg und schlage mich gerade mit der Aufbereitung alter Bohrungslogs herum.
Ich habe ein Schichtenverzeichnis (um die 7000 Zeilen) von alten Bohrungen und wollte mir die Aufbereitung via Formel etwas erleichtern.
Es geht mir darum, dass bei einer bestimmten Schichtbezeichnung ein bestimmter Wert in eine andere Zeile geschrieben wird.

z.B. so: WENN(B2="Sandstein";"4a";"")ODER(WENN(B2="Granit";"5b";"")) das ganze wird natürlich noch Verschachtelter.

Jetzt müsste ich für alle Variationen von Sandstein oder Granit aber eine extra Verschachtelung machen und das wird mir zu lang.
Gibt es eine Möglichkeit das über eine Ähnlichkeitsfunktion (á la Suchen&Ersetzen) zu verkürzen? Also das allen Wörtern die z.B. Granit enthalten die 5b zugewiesen wird?
Ich hoffe ich habne mich einigermaßen Verständlich ausgedrückt.

Viele Grüße,
DC

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2157
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von miesepeter » Do 30. Apr 2015, 13:41

Hallo,

hast du schon mal mit SVERWEIS() gearbeitet? Das könnte evtl. dein Problem lösen.

Ciao

DonCarbon
Beiträge: 6
Registriert: Do 30. Apr 2015, 11:45

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von DonCarbon » Do 30. Apr 2015, 17:52

Hallo miesepeter,

Ansich klingt das schon nicht schlecht, aber mir ist noch nicht ganz klar was dieser Befehl macht.
Ich will ja aus Spalte B auslesen und aufgrund des Textstrings der drinnen steht, eine Ausgabe in Spalte A haben.
Insofern stimmt das ja überein.
Jetzt kommt aber hinzu, dass ich Begriffe habe, die sich wiederholen, ungeordnet sind und dies auch bleiben müssen.

Deswegen ja die Frage ob bzw. wie ich so einen regulären Ausdruck in einem WENN Befehl verwenden kann.

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von Wanderer » Fr 1. Mai 2015, 17:44

Hallo,

für Deine ursprüngliche Idee müsstest Du die Funktion SUCHEN() oder FINDEN() verwenden.
Damit könntest Du tatsächlich einen Code zuweisen, wenn irgendwo im Text "sandstein" vorkommt, egal
ob als Teil eines Tonsandsteins oder allein. Die WENN-Verschachtelung bleibt aber, sie wird nur kürzer.
Reguläre Ausdrücke kannst Du dabei nicht verwenden, werden aber auch nicht gebraucht.

Für Miesepeters Vorschlag musst Du Dir selbst eine zweite Tabelle anlegen, also etwa in Tabelle2
Sandstein > 4a
Granit > 5b
usw...

Mit SVERWEIS in Tabelle1 (deinen Bohrdaten) kannst Du nun jeweils nach dem Wert in der neuen Tabelle suchen
und Dir die daneben stehende Codenummer ausgeben lassen - weshalb DU in SVERWEIS eine Spaltennummer angeben musst.

Die Logik wird also umgekehrt: Du suchst nicht mehr, was von den vielen Dingen in deiner Zeile steht.
Statt dessen sucht Du nur die passende Codenummer ind Deinem neuen Code-Verzeichnis.
Die Formel wird einfacher und bei Erweiterungen viel leichter zu warten.
Zum Einsteigen in SVERWEIS s. z.B: http://www.ooowiki.de/CalcFunktionenTabellen.html
! Tabelle immer als "unsortiert" angeben, sonst gibt es keinen Fehler wenn Werte fehlen.

Haken bei der SVERWEIS-Methode. Du musst in der Codetabelle alle Schreibweisen angeben, die vorkommen. Sandstein in Tonsandsteinfinden klappt nicht.
Zweites Problem: Falls Deine Daten ein Gemenge aus mehreren Elementen enthalten a la "Granit, Kalk, Sand" funktioniert es auch nicht.
In dem Fall würde ich empfehlen mal eine verkürzte (10-50-Zeilen) Variante Deiner Daten als ods-Datei hier hochzuladen.
Spekulieren über solche Dinge ist nämlich selten effektiv...

MfG, Jörn

MfG, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von lorbass » Fr 1. Mai 2015, 18:32

Wanderer hat geschrieben:für Deine ursprüngliche Idee müsstest Du die Funktion SUCHEN() oder FINDEN() verwenden. (…) Reguläre Ausdrücke kannst Du dabei nicht verwenden, werden aber auch nicht gebraucht.
SUCHEN() kann im Gegensatz zu FINDEN() auch RegEx verarbeiten, sofern unter Extras → Optionen (bzw. Einstellungen) → LibreOffice Calc→ Berechnen die Option [✓] Reguläre Ausdrücke in Formeln ermöglichen aktiviert ist.

Mit dem RegEx ".*sand.*" bzw. ".*"&X2&".*", wenn der Suchbegriff "sand" in Zelle X2 steht, findet SUCHEN() also z.B. „Buntssandstein“, „Heidesand“, „Sandkasten“, „Sandmännchen“, … :mrgreen:

Im übrigen halte ich ein vielfach Wenn-Dann-Sonst-Konstrukt auch für zu abenteuerlich. Ich schließe mich dem Wunsch nach einer Beispieldatei an.

Gruß
lorbass

DonCarbon
Beiträge: 6
Registriert: Do 30. Apr 2015, 11:45

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von DonCarbon » Sa 2. Mai 2015, 15:23

Anbei ist die Beispieldatei, PETNUM soll die vereinheitliche Gesteinsbezeichung sein, PETVERB ist die uneinheitliche Bezeichung.

@Wanderer
Inzwischen habe ich mir über einen Datenfilter mal die gesamten Einzelbegriffe rausgeholt.
Das sind fast 200 unterschiedliche Begriffe, die nach Legende in 20 verschiedene Einheiten unterteilt werden.
Wäre also auch noch ziemlich viel Zeitaufwand erstmal die Definitionen zu erstellen.

Laut diesem Link: https://help.libreoffice.org/Calc/Sprea ... e#SVERWEIS
funktioniert die Funktion SVERWEIS() auch mit regulären Ausdrücken.

@lorbass
Wie würde das ganze denn mit SUCHEN() aussehen?

Edit:
By the way, eine (relativ) kurze WENN() Verschachtelung ist ja schonmal was feines, wenn ich da "nur" 20 Begriffe unterbringen muss.
Wenn es natürlich noch kürzer geht, wäre es noch viel besser. :)
Dateianhänge
Schichtdaten_Beispiel.ods
(27.56 KiB) 171-mal heruntergeladen

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von lorbass » So 3. Mai 2015, 14:07

Die Beispieldatei ist nicht sehr hilfreich. Stelle bitte dar, was du hast und wie du dir das Endergebnis vorstellst – ohne Formeln, nur Zahlen, Begriffe hinschreiben. Dann versuchen wir zu klären, wie du dahin kommst.

Gruß
lorbass

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von Wanderer » Mo 4. Mai 2015, 20:01

HAllo,

ich hab mal etwas geraten und Dir die modifizierte Beispieldatei mit SVERWIS angehängt.
Da ich bisher nur 5 fiktive Codes in die 2. Tabelle gesetzt habe, gibt es natürlich haufenweise NV-Fehler für nicht gefundenen Werte.
Kern ist folgende Formel z.B. in B1:

Code: Alles auswählen

=SVERWEIS(B2;Codetabelle.$A$2:$B$200;2;0)
die sich den zum Wert in B2 passenden Eintrag aus der
Codetabelle (200 Einträge in Spalten A und B) sucht und den danebenstehenden (Spalte 2) Eintrag zurückgibt. Codetabelle ist nicht sortiert (0), wobei ich
die Null auch bei sortierten Tabellen empfehle!
DonCarbon hat geschrieben: By the way, eine (relativ) kurze WENN() Verschachtelung ist ja schonmal was feines, wenn ich da "nur" 20 Begriffe unterbringen muss.
Wenn es natürlich noch kürzer geht, wäre es noch viel besser. :)
Ich schätze die SVERWEIS-Tabelle als wesentlich wartungsfreundlicher ein.
DU kannst ja mal folgendes erweitern:

Code: Alles auswählen

=WENN(B2="Aufschuettung";"1a";WENN(B2="Loeslehm";"2b";WENN(B2="Feinsand";"3c";"--")))
Wenn es Dir besser gefällt musst Du "nur" noch die Vergleiche B2=" " durch Aufrufe von SUCHEN mit passenden Mustern ersetzen.
Und ob es leichter ist die Suchmusterliste zusammenzustellen, kannst derzeit nur Du wissen.

MfG, Jörn
Dateianhänge
Schichtdaten_Wanderer.ods
(46.23 KiB) 172-mal heruntergeladen
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

DonCarbon
Beiträge: 6
Registriert: Do 30. Apr 2015, 11:45

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von DonCarbon » Mo 4. Mai 2015, 21:57

Hey, danke euch für die Antworten und die Mühe :)
Ich werde morgen nochmal eine Aussagekräftigere Beispieldatei hochladen und mehr dazu sagen.

DonCarbon
Beiträge: 6
Registriert: Do 30. Apr 2015, 11:45

Re: Suchen&Ersetzen Syntax in Kombination mit WENN-Befehl?

Beitrag von DonCarbon » Di 5. Mai 2015, 11:54

Hallo liebe Leute,

Anbei also die Beispieldatei mit Legende und Beschreibung hier.
Wie schon gesagt, soll die Spalte PETNUM die petrographische Kurzbezeichnung enthalten.
Die Spalte PETVERB enthält die inhomogenen petrographischen Bezeichnungen der Bearbeiter.

In der Legende (Spalte E) sind die petrographischen Kurzbezeichnungen.
In Spalte F sind die homogenisierten pet. Bezeichnungen.

Ziel ist es, die in der Legende stehenden Kurzbezeichnungen automatisch in die Spalte PETNUM zu übertragen.
Dies soll entsprechend den homogenisierten Bezeichungen in der Legende geschehen.

Für ein paar Gesteine habe ich jetzt einfach mal Zuweisungen händisch hinzugefügt.
Mir scheint die Methode mit SVERWEIS() und Legende könnte Zielführend sein, wenn dieser Befehl damit umgehen kann, dass die Bezeichnungen nicht 100% übereinstimmen.
Dateianhänge
Schichtdaten_Beispiel_v2.ods
(21.5 KiB) 162-mal heruntergeladen


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten