Seite 1 von 1

Matrix-Formel mit regulären Audrücken als Kriterium

Verfasst: Mi 19. Aug 2015, 17:58
von sisyphos
Hallo User,

Ich suche nach einem Weg, eine Tabelle nach mehreren Kritiren mit Platzhaltern, bzw. regulären Ausdrücken abzufragen. Dabei würde ich gerne auf zusätzliche Tabellen zur Angbe von Kriterien verzichten, wie sie bei DBMIN nach meiner Kenntnis erforderlich ist.

Folgende Formel funktioniert:

Code: Alles auswählen

=MIN(WENN((AuswertungTyp="Abrechnung")*(AuswertungTag=Tagesdatum)=1;AuswertungSumme))
Leider werden keine Ergebnisse geliefert, wenn die Zellen im Berech "AuswertungTyp" mehr Text, als "Abrechnung" enthalten. Wenn man das Suchkriterium mit regulären Ausdrücken ergänzt (z.B. so: .*Abrechnung.*) werden keine Ergebnisse geliefert, obwohl ich entsprechende Daten habe:

Code: Alles auswählen

=MIN(WENN((AuswertungTyp=".*Abrechnung.*")*(AuswertungTag=Tagesdatum)=1;AuswertungSumme))
Gibt es vielleicht ganz andere Ansätze, wie man die Abfrage mit einer Formel ohne Kriterientabelle lösen könnte?

Re: Matrix-Formel mit regulären Audrücken als Kriterium

Verfasst: Mi 19. Aug 2015, 18:51
von lorbass
Die Option [✓] Reguläre Ausdrücke in Formeln ermöglichen unter Extras → Optionen → LibrOffice Calc → Berechnen ist aktiviert?

Schreib bitte einige erfahrungsgemäß wichtige Informationen auf:
  1. Dein Betriebssystem / 32-, 64-bit / Version?
  2. Dein OpenOffice: OOo? AOO? LO? / 32-, 64-bit / Version?
  3. „Native“ ODF-Datei oder Datei mit „Migrationshintergrund“ aus MS Word, MS Excel, MS Powerpoint, …?
  4. Fertige bitte eine anonymisierte / verfremdete Beispieldatei an, anhand derer das beanstandete Verhalten nachvollzogen werden kann. Anhand deiner Angaben ist keine Testumgebung aufzubauen, um das Verhalten nachzuvollziehen.
Gruß
lorbass

Re: Matrix-Formel mit regulären Audrücken als Kriterium

Verfasst: Mi 19. Aug 2015, 20:51
von mikele
Hallo,

dazu wirst du die Suchen()-Funktion nutzen müssen, die auch reguläre Ausdrücke zulässt.
Deine konkrete Frage sollte sich so lösen lassen:

Code: Alles auswählen

=MIN(WENN(NICHT(ISTFEHLER(SUCHEN("Abrechnung";Auswertungtyp)))*(AuswertungTag=Tagesdatum)=1;AuswertungSumme))

Re: Matrix-Formel mit regulären Audrücken als Kriterium

Verfasst: Fr 21. Aug 2015, 13:18
von sisyphos
mikele hat geschrieben:Hallo,

dazu wirst du die Suchen()-Funktion nutzen müssen, die auch reguläre Ausdrücke zulässt.
Deine konkrete Frage sollte sich so lösen lassen:

Code: Alles auswählen

=MIN(WENN(NICHT(ISTFEHLER(SUCHEN("Abrechnung";Auswertungtyp)))*(AuswertungTag=Tagesdatum)=1;AuswertungSumme))
Danke mikele! Das funktioniert!
Wie in Deiner Formel angegeben muss man natürlich darauf achten, dass Suchen bei einem Treffer die Position und bei Nicht-Finden #Wert liefert. Wie angegeben lässt sich das durch ISTFEHLER aber prima handhaben und mit NICHT umdrehen.
Gruß!