Anzeige
Archiv - Navigation
1216to1220
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ählen von Werten in einer Spalte

Zählen von Werten in einer Spalte
Werten
Hallo Excel-Gemeinde,
hier kommt mal wieder eine meiner komischen Anfragen (*g*).
Angenommen ich habe in Spalte A folgende Werte stehen:
A19: ";99;99;07;17;03;10;12;14;17;18;20;06;07;15;17;18;01;17;990;11;14;17;19;99;07;10;15;17;19;01"
A35: ";01;02;05;99;84;99"
Alle anderen Zeilen dieser Spalte enthalten zwar Formeln, gemäß Abfrage wird aber "" angezeigt.
Gibt es eine Formel mit der ich nun den Wert "99" in Spalte A zählen kann? Herauskommen muss 6
Folgende Formeln habe ich bereits ausprobiert:
2=SUCHEN("99";A19)
2=FINDEN("99";A19)
4=(LÄNGE(A19)-LÄNGE(WECHSELN(A19;"99";"")))/LÄNGE("99")
Die jeweiligen Ergebnisse stehen am Anfang.
Warum Suchen und Finden falsche Ergebnisse liefern weiß ich nicht. Das Problem bei allen Formeln ist, dass diese nur in einer bestimmten Zelle, nicht aber in einer gesamten Spalte suchen. Im Endeffekt benötige ich diese Abfrage insgesamt 4000 mal: Für die Spalte A:A bis zur Spalte AN:AN, und jeweils für die Zahlen 01-100. Sollte es zu Problemen kommen wegen der dreistelligen Zahl (=100) gaben kann ich aber auch darauf verzichten.
Danke für Antworten
Grüße
Martin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Wort in Bereich zählen
27.05.2011 09:21:49
Erich
Hi Martin,
die (Matrix-)Formel in B1 könnte helfen:
 ABC
1 7 
2x99xx999 2
3x99xx99 2
4x99xx9999 3

Formeln der Tabelle
ZelleFormel
B1{=SUMME((LÄNGE(A1:A10)-LÄNGE(WECHSELN(A1:A10;99;"")))/2)}
C2=(LÄNGE(A2)-LÄNGE(WECHSELN(A2;99;"")))/2
C3=(LÄNGE(A3)-LÄNGE(WECHSELN(A3;99;"")))/2
C4=(LÄNGE(A4)-LÄNGE(WECHSELN(A4;99;"")))/2
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen

( Formel ist im Prinzip von http://www.excelformeln.de/formeln.html?welcher=123 )
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Wort in Bereich zählen
27.05.2011 12:48:39
Martin
Hallo Erich,
danke für Deine Antwort. Wenn ich die Matrix-Formel anpasse kommt leider kein korrektes Ergebnis raus:
{=SUMME((LÄNGE(LÄNGE('Splittung nach fb'!$A$1:$A$140)) -LÄNGE(WECHSELN(LÄNGE('Splittung nach fb'!$A$1:$A$140);SPALTE(CU$1);"")))/LÄNGE(CU$1)) }

Hier erhalte ich das korrekte Ergebnis.
Wenn ich allerdings statt
'Splittung nach fb'!$A$1:$A$140
INDEX('Splittung nach fb'!1:2;1;VERGLEICH(A2;'Splittung nach fb'!2:2;0))
eingebe, erhalte ich 0 als Ergebnis. Zwischenergebnis der Index-Formel ist folgendes
=INDEX('Splittung nach fb'!1:2;1;VERGLEICH(A2;'Splittung nach fb'!2:2;0))

'Splittung nach fb'!$A$1:$A$140
Kannst Du mir weiterhelfen?
Danke und Grüße
Martin
Anzeige
AW: Wort in Bereich zählen
27.05.2011 12:54:50
Martin
Sorry, Formel falsch geschrieben:
{=SUMME((LÄNGE('Splittung nach fb'!$A1:$A140)-LÄNGE(WECHSELN('Splittung nach fb'!$A1:$A140;99;""))) /2) }

unklar
27.05.2011 13:18:47
Erich
Hi Martin,
bei deiner letzten Summenformel sehe ich jetzt keinen Fehler.
Bei der Summenformel im vorigen Post allerdings schon:
Gewechselt wird SPALTE(CU$1) - das ist die Spaltennummer = Zahl 99.
Dahinter teilst du aber durch LÄNGE(CU$1) - das ist die Länge des Wertes von CU1, also
z. B. 400, wenn in CU1 ein Text mit Länge 400 steht.
Du wolltest hier sicher LÄNGE(SPALTE(CU$1)) statt LÄNGE(CU$1).
Hast du immer berücksichtigt, wie eine Matrixformel eingegeben werden muss?
Ansonsten verstehe ich deinen vorletzten Beitrag nicht wirklich.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: unklar
27.05.2011 13:49:30
Martin
Hallo Erich,
ich hoffe, dass ich eine Matrixformel richtig eingebe, nämlich durch drücken von STRG+SHIFT+Enter
Die Matrixformel habe ich abgeändert bzgl. Deiner Hilfe:
{=SUMME((LÄNGE('Splittung nach fb'!$A$2:$A$140)-LÄNGE(WECHSELN('Splittung nach fb'!$A$2:$A$140; SPALTE(CU$1);"")))/LÄNGE(SPALTE(CU$1))) }
Wenn ich diese Formel so eingebe kommt der korrekte Wert. Wenn ich den Datenbereich A2:A140 allerdings variabel halten möchte (in der nächsten Zeile soll der Datenbereich B2:B140 sein), muss ich statt:
'Splittung nach fb'!$A$2:$A$140
INDEX('Splittung nach fb'!1:2;1;VERGLEICH(A2;'Splittung nach fb'!2:2;0))
eingeben. In der Zielzelle steht dann hardgecodet der Wert 'Splittung nach fb'!$A$2:$A$140
Wenn ich das allerdings so eingebe, erhalte ich 0 als Ergebnis.
Eine weitere Frage zu der Formel: Ich poste noch einmal zur besseren Übersicht den Wert, der in A19 steht:
;99;99;07;17;03;10;12;14;17;18;20;06;07;15;17;18;01;17;990;11;14;17;19;99;07;10;15;17;19;01
U.a. möchte ich auch zählen, wie oft 07 vorkommt. Wenn ich allerdings folgende Formel anwende
{=SUMME((LÄNGE('Splittung nach fb'!$A$2:$A$140)-LÄNGE(WECHSELN('Splittung nach fb'!$A$2:$A$140;07;"") ))/2))) }
wandelt mir Excel die 07 in 7 um und zählt auch 17 mit, wodurch, wenn ich /2 weglasse, 9 als Ergebnis erscheint statt der korrekten 3. Welche Lösung kann man hier anwenden?
Ich habe die Datei mal etwas entschlackt, um sie hochladen zu können. Schau Dir bitte mal die Datei an und frag mich, wenn Du etwas nicht verstehst.
https://www.herber.de/bbs/user/75046.xls
Danke und Grüße
Anzeige
AW: unklar
27.05.2011 14:18:12
Rudi
Hallo,
INDEX('Splittung nach fb'!1:2;1;VERGLEICH(A2;'Splittung nach fb'!2:2;0))

Da müsste dann wohl noch ein INDIREKT() drumrum, da das ja einen String zurückgibt, keinen Bereich.
Geht aber auch ohne, da INDEX() auch einen Bereich wiedergeben kann. Die 'Hardcodierung' in Zeile 1 kannst du dir sparen.
{=SUMME((LÄNGE(INDEX('Splittung nach fb'!$2:$140;;VERGLEICH($A2;'Splittung nach fb'!$2:$2;))) -LÄNGE(WECHSELN(INDEX('Splittung nach fb'!$2:$140;;VERGLEICH($A2;'Splittung nach fb'!$2:$2;)); SPALTE(A$1);"")))/LÄNGE(SPALTE(A$1))) }
Gruß
Rudi
Anzeige
AW: unklar
27.05.2011 14:35:37
Martin
Hallo Rudi,
die Formel arbeitet schon einmal und macht, was sie soll. Danke!
Ich habe eine aktuelle Datei hochgeladen unter https://www.herber.de/bbs/user/75051.xls
Die Formel zählt allerdings immer noch z.b. 1 und nicht 01. Wie kann man die Formel umstellen, das die Werte für die einstelligen Zahlen auch korrekt gezählt werden?
Versuch
27.05.2011 17:26:19
Erich
Hi Martin,
probier mal
=SUMME((LÄNGE(INDEX(BBBB!$2:$19;;VERGLEICH($A2;BBBB!$2:$2;)))
-LÄNGE(WECHSELN(INDEX(BBBB!$2:$19;;VERGLEICH($A2;BBBB!$2:$2;)); TEXT(SPALTE(A$1);"00");"")))
/LÄNGE(TEXT(SPALTE(A$1);"00")))
SPALTE(A$1) ist nun mal 1, nicht "01", und LÄNGE(SPALTE(A$1)) ist immer 1.
Mit TEXT(SPALTE(A$1);"00") bekommt man den Text "01".
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
FERTIG
30.05.2011 12:29:35
Martin
Hi Erich,
Jetzt isses fertig! Perfekt, Danke!

389 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige