Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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
Anzahl Wörter zählen
29.04.2020 14:28:33
Robin
Hallo,
ich wollte wissen, wie man es formeltechnisch lösen kann, dass man Wörter die kommagetrennt und in mehr als einer Zeile stehen, zählt.
Als Beispiel habe ich eine Datei angehängt, wo dann in Zelle D11 der Wert ermittelt werden muss
https://www.herber.de/bbs/user/137116.xlsx
Vielen Dank im Voraus!
Grüße,
Robin

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
E7: lässt Du leer oder machst es leer
29.04.2020 14:45:17
lupo1
D11: =SUMMENPRODUKT((D5:E8&gt"")*(LÄNGE(D5:E8&",")-LÄNGE(WECHSELN(D5:E8&",";",";))))
AW: E7: lässt Du leer oder machst es leer
29.04.2020 15:23:31
Robin
Hi lupo,
besten Dank für die Lösung. Nur leider ist mir ein kleiner Fehler in der Tabelle unterlaufen.
Und zwar sollte hinter jedem letzten Wort noch ein Komma stehen.
sorry...
AW: E7: lässt Du leer oder machst es leer
29.04.2020 15:45:41
Daniel
HI
wenn hinter jedem Wort ein Komma steht und Anzahl Komma = Anzahl Wörter, dann reicht das einfache:
=SUMMENPRODUKT((LÄNGE(D5:E8)-LÄNGE(WECHSELN(D5:E8;",";""))))
Gruß Daniel
AW: E7: lässt Du leer oder machst es leer
29.04.2020 16:25:16
Robin
Hi Daniel,
genauso, besten Dank!
AW: E7: lässt Du leer oder machst es leer
29.04.2020 17:18:35
Robin
Hättest du auch noch eine Lösung parat, wie man das mit der Teilergebnis-Funktion koppelt?
Anzeige
AW: E7: lässt Du leer oder machst es leer
29.04.2020 17:47:36
Daniel
inwiefern?
Berücksichtigung des Autofilters?
dann hilfsspalte mit der Formel =TeilErgebnis(3;Zelle in der gleichen Zeile mit Wert oder Formel)
und diese Hilfsspalte ins Summenprodukt als Faktor mit der Bedingungsprüfung *(Spalte mit Teilergebnis = 1) mit aufnehmen.
Dabei reicht eine Spalte aus, auch wenn die anderen Bediungsprüfungen mehrere Spalten haben, das Ergebnis dieser Spalte wird für die anderen übernommen.
gruß Daniel
AW: E7: lässt Du leer oder machst es leer
29.04.2020 18:41:23
Robin
Naja ich kapiere irgendwie nicht so ganz, wie du das meinst.
Also in der Tabelle brauche ich halt die Formel für D12
https://www.herber.de/bbs/user/137127.xlsx
das müsste doch normal ohne eine Hilfsspalte gehen oder?!
Anzeige
AW: E7: lässt Du leer oder machst es leer
29.04.2020 19:12:34
Daniel
Hi
mit Hilfsspalte:
für deine Beispieldatei:
in E6:E11: =Teilergebnis(3;D6)
in D12: =Summenprodukt(Länge(D6:D11)-Länge(Wechseln(D6:D11;",";""));E6:E11)
ohne Hilfsspalte:
in D12: =SUMMENPRODUKT(LÄNGE(D6:D11)-LÄNGE(WECHSELN(D6:D11;",";""));TEILERGEBNIS(3;INDIREKT("D"&ZEILE(D6:D11))))
Problem ist das Indirekt, was dir die Formel volatil macht und nachteilig für die Performance ist, wenn du größerer Datenmengen und mehrere Auswertungen dieser Art machst.
dann verringert die Hilfsspalte die Rechenlast deutlich.
Gruß Daniel
AW: E7: lässt Du leer oder machst es leer
29.04.2020 19:39:49
Robin
So das hat jetzt auch geklappt. So groß ist meine Tabelle nicht, deswegen brauche ich die Hilfsspalte nicht, aber trotzdem danke für die Mühe und die schnellen Hilfen.
Grüße,
Robin
Anzeige
AW: E7: lässt Du leer oder machst es leer
29.04.2020 22:16:05
Günther
Moin,
das mit dem Komma macht eine Lösung mit Power Query sogar leichter. Mit oder ohne trailing comma, die Lösung ist ohne Formel und natürlich ohne VBA.
Gruß
Günther
AW: Anzahl Wörter zählen
29.04.2020 14:47:19
ChrisL
Hi Robin
Hier wäre der Ansatz für die Formel:
https://www.herber.de/forum/archiv/1048to1052/1051857_Werte_in_Zelle_mit_Komma_getrennt_zaehlen.html
Allerdings müsste man dann noch " - " ausschliessen und die Formel irgendwie (bin da auch nicht Profi) in eine Array-Formel über den gesamten Bereich erweitern. Scheint mir etwas umständlich, weshalb ich gleich eine benutzerdefinierte VBA-Funktion vorschlage:
Sub t()
MsgBox Zaehlen(Range("D5:E8"))
End Sub

Function Zaehlen(rng As Range) As Long
Dim c As Range, v As Variant
For Each c In rng.Cells
If c  " - " And c  "" Then
v = Split(c, ",")
Zaehlen = Zaehlen + UBound(v) - LBound(v) + 1
End If
Next c
End Function
Die Funktion lässt sich aus als Formel in der Tabelle verwenden
=Zaehlen(D5:E8)
cu
Chris
Anzeige
AW: Anzahl Wörter zählen
29.04.2020 14:50:40
ChrisL
Jetzt wo ich die Formel von lupo sehe (also doch keine Array-Formel)... Die Ausnahme " - " könntest du wie folgt lösen:
=SUMMENPRODUKT((D5:E8>"")*(LÄNGE(D5:E8&",")-LÄNGE(WECHSELN(D5:E8&",";",";))))-ZÄHLENWENN(D5:E8; " - ")
cu
Chris
AW: Anzahl Wörter zählen
29.04.2020 15:24:47
Robin
Hi ChrisL,
besten Dank für die Lösung. Nur leider ist mir ein kleiner Fehler in der Tabelle unterlaufen.
Und zwar sollte hinter jedem letzten Wort noch ein Komma stehen.
sorry...
AW: unter Voraussetzungen ...
29.04.2020 14:48:23
neopa
Hallo Robin,
... dass die Datenstruktur immer so beibehalten wird wie im Beispiel (allo immer ein Komma zwischen Wörtern und keins am Ende dann z.B. so:
=SUMMENPRODUKT(LÄNGE(D5:E9)-LÄNGE(WECHSELN(D5:E9;",";""))+(LÄNGE(WECHSELN(D5:E9;" ";""))&gt1))
Gruß Werner
.. , - ...
Anzeige

119 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige