Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ZÄHLENWENN

ZÄHLENWENN
23.01.2016 13:18:41
Gisela
Hallo,
ich will in B1 die Anzahl einer gewissen Zeichenfolge in Spalte A1-A10 anzeigen lassen:
Wenn ich in B1 P1 eingebe, soll er (in A1-A10) z. Bsp. P1, P1a,P1b finden, aber NICHT P11,P110 etc.
Wenn ich in B1 P11 eingebe, soll er P11, P11a,P11b finden, aber nicht P110,P110a etc.
und das höchstens einmal pro Zelle (s. A9, wo P110 2mal vorkommt)
also Bsp.
B1: P1 (Anzahl A1-A10: 3)
B1: P1a (Anzahl A1-A10: 1)
B1: P2 (Anzahl A1-A10: 3)
B1: P2a (Anzahl A1-A10: 1)
B1: P11 (Anzahl A1-A10: 4)
B1: P11a (Anzahl A1-A10: 1)
B1: P110 (Anzahl A1-A10: 3)
B1: P110a (Anzahl A1-A10: 1)
B1: P110b (Anzahl A1-A10: 1)
B1: P110c (Anzahl A1-A10: 1)
A1: P1
A2: P1a
A3: P1,P2,P11
A4: P2
A5: P2a
A6: P11
A7: P11a
A8: P11,P110
A9: P110a,P110c
A10: P110b
Liebe Grüsse und danke!
Gisela

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das geht mit einem erweiterten Vergleich, ...
23.01.2016 15:02:27
Luc:-?
…Gisela,
wie nachfolgend zu sehen ist:
 ABCD
1P1P133
2P1aP1a11
3P1,P2,P11P233
4P2P2a11
5P2aP1144
6P11P11a11
7P11aP11043
8P11,P110P110a11
9P110a,P110cP110b11
10P110bP110c11
11C1[:C10]: {=ANZAHL(FINDEN(" "&B1&{" "."a"."b"."c"};" "&WECHSELN(A$1:A$10;",";" ")&" "))}
12D1[:D10]: {=SUMME(--VLike(" "&WECHSELN(A$1:A$10;",";" ")&" ";"* "&B1&"[!0-9]*"))}
Hier hast du die Wahl zwischen einer „klassischen“, aber etwas längeren Fml in Spalte C, die alle potenziellen Nachfolge­Buchstaben berücksichtigen muss, und einer Fml unter Einsatz der UDF VLike aus dem hiesigen Archiv (RECHERCHE → VLike) in Spalte D, die das per Maske erledigt und damit flexibler ist (sie schließt nur Ziffern als Nachfolge­Zeichen aus).
Gruß + schöWE, Luc :-?

Anzeige
AW: ZÄHLENWENN ja aber nicht mit der Funktion ...
23.01.2016 19:48:01
...
Hallo Gisela,
... ein korrektes Ergebnis liefert Dir die Formel von Luc, wo er auf eine seiner UDF (= User definierte Funktion) zurückgreift. Seine erste Formel auf Basis von Standardfunktionen berücksichtigt nicht Deine Bedingung: "... und das höchstens einmal pro Zelle..:" .
Bei Deinen angegeben Excel-Level wirst Du wohl weder die Formel(n) von Luc noch meinen nachfolgenden Formelvorschlag nachvollziehen können. Doch auch wenn meine Formel in E1 länger ist, kommt sie ohne UDF und ohne den spez. Formelabschluss (der eine zusätzliche Funktionalität auslöst) zumindest für Deine Vorgaben zum korrekten Ergebnis.
 ABCDE
1P1P13 3
2P1aP1a1 1
3P1,P2,P11P23 3
4P2P2a1 1
5P2aP114 4
6P11P11a1 1
7P11aP1104 3
8P11,P110P110a1 1
9P110a,P110cP110b1 1
10P110bP110c1 1
11     

Formeln der Tabelle
ZelleFormel
C1{=ANZAHL(FINDEN(" "&B1&{" "."a"."b"."c"};" "&WECHSELN(A$1:A$10;",";" ")&" "))}
E1=SUMME(N(MMULT(--ISTZAHL(FINDEN(B1&{","."a"."b"."c"};A$1:A$99&",")); {1;1;1;1})>0))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
Stimmt, hatte ich doch glatt übersehen, ...
23.01.2016 23:29:28
Luc:-?
…Werner (& Gisela),
obwohl das ja meine Tab auch zeigt. Lag wohl am sich inzwischen durch Kopfschmerzen ankündigenden Witterungsumschwung…
Aber MMULT ist natürlich 'ne gute Idee. Da würde dann auch diese Korrektur meiner 1.Fml fktionieren:
C1[:C10]:=ANZAHL(MMULT(--ISTZAHL(FINDEN(" "&B1&{" "."a"."b"."c"};" "&WECHSELN(A$1:A$10;",";" ")&" "));
1^ZEILE(A$1:A$4))^0)   °(Evtl wird's damit verständlicher.)
Die Leerzeichen schie/einen mir sicherer als das Komma zu sein und Anzahl fktioniert auch bei Fehlern, die ich mir mal erlaube zuzulassen. ;-]
Meine 2.Fml fktioniert deshalb richtig, weil die UDF in dieser Form nur feststellt, ob der Text zur Maske passt. Das kann ja nur einmal pro Text festgestellt wdn (allerdings liefern die PositionsVarianten auch nur einen Wert pro Text, der sich aber durch mehr als nur die Längen­differenz unterscheidet, wenn mehrere Treffer im Text sind). War also beinahe Zufall, da mir mittlerweile die letzte Forderung aus dem Blick geraten war.
Gruß, Luc :-?

Anzeige
AW: meine MATRIXFunktion(alitäts)formel ...
24.01.2016 11:43:05
...
Hallo Luc,
... war so konstruiert mit SUMME() zum Ergebnis zu kommen.
Durch ISTZAHL() hatte ich zuvor die Fehlerwerte durch die Teilergebnisse von FINDEN() eliminiert und dadurch erst die Auswertung mit der Funktion MMULT() ermöglicht.
Anstelle des Vergleiches der Zwischenergebnismatrix mit 0 und dessen WAHRheitswerte mit der Funktion N() zu auswertbaren Dualziffern durch SUMME() zu generieren, hast Du das MMULT() Zwischenergebnis mit 0 potenzierst und damit neue andere Teilfehlerwerte generiert. Dafür wird dann natürlich die spez. innerer Funktionalität (ignorieren von Fehlerwerten) von ANZAHL() zur Auswertung benötigt.
Ich glaube aber kaum, dass dafür Jemand, der nur Excelbasiskenntnisse hat bzw. angibt solche zu besitzen, mehr Verständnis für die innere Wirkungsweise der Formel(n) aufbringt. Und auch nicht dafür, wenn Du anstelle {1;1;1;1}) nun 1^ZEILE(A$1:A$4) schreibst. Das gilt, wie ich bereits schrieb, auch für meine Formel und meinen nachfolgenden Anmerkungen.
Natürlich ist die Potenzierung mit 0 und deren anschließenden Auswertung mit ANZAHL() eine sinnvolle Verkürzung gegenüber meiner SUMME()n-Formel. Letztere basiert auf der Dualzahlmatrix infolge der vergleichenden Auswertung der MMULT()-Ergebnismatrix mit 0 und der Wandlung der WAHRheitswertematrix durch die Funktion N() braucht also eine Funktion mehr zur Endauswertung.
Doch wenn schon Potenzierung mit 0 und Auswertung mit ANZAHL(), dann reicht bei den bisher vorgegebenen Bedingungen nachfolgende ohne die WECHSEL()ei auskommende kürzere MATRIXFunktion(alitäts)formel auch. Aber vielleicht interessiert es ja evtl. andere Mitleser.
=ANZAHL(MMULT(--ISTZAHL(FINDEN(B1&{","."a"."b"."c"};A$1:A$10&","));{1;1;1;1})^0)
Gruß Werner
.. , - ...

Anzeige
Ja, das ist sehr gut, wenn man alle Varianten ...
24.01.2016 13:05:20
Luc:-?
…mit überschaubarem Aufwand angeben kann, Werner;
übrigens hatte ich meine UDF VLike schon ganz vergessen und erst vor einigen Wochen zufällig im Archiv wiederentdeckt… ;-]
Hatte es wohl nie in mein Sammel-AddIn geschafft und ist möglicherweise mit der Ursprungsdatei im HD-Hintergrund oder gar im Daten-Nirvana verschwunden. Jetzt ist sie dank Herber-Archiv aber drin. ;-)
Gruß + schöSo, Luc :-?

AW: meine MATRIXFunktion(alitäts)formel ...
25.01.2016 10:25:27
Luschi
Hallo Werner & Luc,
Eure Formelm mit MMULT(...) versagen, wenn z.B diese Zeichenfolge in 1 Zelle vorhanden sind:
P1c,P1a,P1,P2,P11
Da wird 'P1' nur einmal gezählt und nicht dreimal.
Ich finde ja, daß eine solche Datenbasis erst mal aufbereitet werden sollte, bevor man daraus eine vernünftige Statistik macht.
Gruß von Luschi
aus klein-Paris

Anzeige
Das ist ja auch richtig, ...
25.01.2016 11:42:41
Luc:-?
…Luschi,
so war es verlangt, nur 1× pro TextZelle zählen! ;-)
Gruß, Luc :-?
Besser informiert mit …

AW: Das ist ja auch richtig, ...
25.01.2016 14:36:57
Gisela
Hallo,
erst einmal vielen Dank für das rege Interesse, soweit ich es bisher festetllen konnte, funktionieren je nach dem, was gewollt ist, einiges...
Jedenfalls ist das dabei, was ich brauche!
Noch eine Frage sei gestattet:
Wenn ich diese Formeln nicht z. B. als Matrix-Formel einsetzen will, sondern über eine Hilfsspalte, wei kann ih das am besten machen?
Beste Grüsse
Gisela

Anzeige
AW: Hilfsspalten empfehlen sich hier nicht ...
25.01.2016 17:43:47
...
Hallo Gisela,
... wenn Du wirklich nur einen (wechselnden) Suchwert hast, wie Du in Deiner ursprünglichen Fragestellung auch geschrieben hast, könnte man darüber nachdenken. Aber was spricht z.B. gegen meine letzte Formel?
=ANZAHL(MMULT(--ISTZAHL(FINDEN(B1&{","."a"."b"."c"};A$1:A$999&","));{1;1;1;1})^0)
Die gibst Du genau so ein und erhältst sofort das Ergebnis für bis zu 999 Daten in Spalte A, je nach dem was in B1 steht.
Gruß Werner
.. , - ...

AW: Hilfsspalten empfehlen sich hier nicht ...
27.01.2016 08:37:06
Gisela
Hallo Werner,
ich habe mir halt noch einen Makro, der Zeilen über die Hilfsspalte in eine 2. Tabelle ausliest, daher die "Hilsspalten-Notwendigkeit".
Beste Grüsse
Gisela

Anzeige
AW: kann ich so nicht nachvollziehen ...
27.01.2016 10:09:34
...
Hallo Gisela,
... mit der angegebenen Formel errechnet Du doch für alle Daten im angegebenen Bereich der Spalte A sofort das gesuchte Ergebnis. Wozu dann noch VBA? Wenn Du die Lösungsformel jedoch in eine vorhandene VBA-Lösung einbinden willst, brauchst Du auch keine Hilfsspalten.
Wie auch immer, aus VBA-Lösungen halte ich mich grundsätzlicher heraus. Wenn Du also derartiges anstrebst, schreibe in Deinen Antwortbetreff: "VBA-Lösung gesucht" und stell den thread wieder offen.
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige