Zählenwenn() mit "*"&...&"*"

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Dandau
**
Beiträge: 24
Registriert: Di, 21.02.2006 11:36

Zählenwenn() mit "*"&...&"*"

Beitrag von Dandau »

In Excel kann ich folgende Formel so darstellen;

=Zählenwenn(Bereich;"*"&$B$4&"*")

In Calc bekomme ich das hin. Gibt es irgendwele Ansätze zum Lösen?

Gruß

Dandau
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Ich denke, das müsste prinzipiell auch gehen. Unter Extras/Optionen/Tabellendokument musst Du zunächst kontrollieren, ob "reguläre Ausdrücke" aktiviert sind.
Und dann müsste der reguläre Ausdruck wahrscheinlich so heissen:
".*"&$B$4&".*"

Ansonsten helfen vielleicht die DB-Funktionen weiter:
http://www.ooowiki.de/CalcFunktionenDatenbank
Dandau
**
Beiträge: 24
Registriert: Di, 21.02.2006 11:36

Beitrag von Dandau »

Danke hat geklappt!!!

Warum hat eigentlich Calc teilweise einen anderen Syntax als Excel?? das verwirrt mich immer wieder....

noch eine Frage hätte ich zu sverweis

=sverweis(kriterium;Matrix,Spaltenindex)

Das Kriterium ist die "1" aus der Zählenwenn Funktion.

Wie nimmt er den den Spaltenindex? geht er immer von Spalte aus der jeweilgen sverweis Matrix aus?
Kann ich auch eine ganz anderen Spaltenindex einer anderen Matrix anzeigen lassen? sprich genau die Matrix, die in der Zählenwenn Funktion genutzt habe?
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

noch eine Frage hätte ich zu sverweis
Wie nimmt er den den Spaltenindex? geht er immer von Spalte aus der jeweilgen sverweis Matrix aus?
Kann ich auch eine ganz anderen Spaltenindex einer anderen Matrix anzeigen lassen? sprich genau die Matrix, die in der Zählenwenn Funktion genutzt habe?
Ich kann Deiner Beschreibung zwar nicht recht folgen, aber es ist so:
Bei SVERWEIS wird die erste Spalte der Matrix mit dem Vergleichswert durchsucht. Der Spaltenindex fängt mit 1 in dieser ersten Spalte an. Wenn Du also "1" als Spalte mitgibst und der Vergleichswert wird gefunden, so erhältst Du genau diesen Vergleichswert wieder zurück. Mit "2" erhältst Du den Wert der Zelle genau neben der Indexspalte usw.
Wenn es denkbar ist, dass der Vergleichswert in der Matrix nicht vorkommt, solltest Du den "sortiert"-Parameter nutzen und eine "0" eintragen. Dann bekommst Du bei Nicht-Finden den Fehlerwert #NV zurück und kannst das z.B. in eine WENN-Formel einbauen.
Ohne diese 0 geht das Programm davon aus, dass die Liste sortiert ist und sortierte Listen werden anders behandelt:
bei Nicht-Finden des exakten Wertes wird einfach der nächste Wert genommen.
Also: eine Liste evtl. auch dann als "unsortiert" bezeichnen, wenn sie in Tat und Wahrheit eben doch sortiert vorliegt.
Dandau
**
Beiträge: 24
Registriert: Di, 21.02.2006 11:36

Beitrag von Dandau »

Danke für die Erlärung!

Zum Verständniss; Ich habe eine Tabelle, in der z.B. Kdnr. Name, Ort, Adresse, Ansprechpartner etc existiert. Ich habe dann hintendrann noch eine Hilfsspalte angefügt, die mit der Zählenwenn Funktion nach dem Krterium sucht, und bei finden eine "1" schreibt.
Ich möchte nun quasi in einem anderen Tabelleblatt, eine Auflistung derer Zeilen haben, die das Krterium 1 haben. (bzw, nicht die ganze Zeile, evtl. auch nur Schlüsselwerte wie Kdnr. und Ort)

Ich hatte vor mithilfe des sverweises, die schlüsseldaten aufzulisten.
Wenn ich also nach "kohl" suche, schreibt mir die Formel in der Hilfspalte eine "1", wenn "kohl" irgenwo gefunden wurde. Ich wollte per sverweis quasi einen negativen Spaltenindex anzeigen lassen. Anstatt den 1 oder 2 Wert von der Hilfsspalte anzeigen zu lassen, solle er "rückwärts" gehen/zählen und mir z.B. die Kundennummer zu nennen.

Ich hoffe das ist etwas verständlicher
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

Wenn ich Dich recht verstehe, brauchst Du dafür keine Verweis-Funktionen oder ZÄHLENWENN.
Die Funktion SUCHEN unterstützt z.B. auch reguläre Ausdrücke und dann brauchst Du Dich nicht um Bereichsgrenzen zu kümmern.
In Deiner bisherigen 1er-Spalte (das mit dem ZÄHLENWENN) könnte auch sowas stehen:
=WENN(ISTFEHLER(SUCHEN(".*"&$B$1&".*";B2));"";A2)
Erklärung:
Die Funktion sucht in Zelle B2 nach dem Ausdruck in B1, erweitert um die wildcard-Zeichen. Wenn der Ausdruck nicht gefunden wird, wird "" ausgegeben und sonst der Inhalt von Zelle A2 (könnte z.B. die Kundennummer sein)
Statt nur A2 kannst Du natürlich noch mehr ausgeben lassen:
A2&C2&H2....
Damit hast Du eine Spalte, in der alle Adressdaten stehen, die Du für gefundene Datensätze brauchst.

Aber möglicherweise geht es Dir darum, auch die Zeilenanzahl zu reduzieren, sodass Du die gefundenen Datensätze als zusammenhängede Liste bekommst.
Dazu müsstest Du Standard- oder Spezialfilter benutzen.
Antworten