Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
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
06.05.2022 08:55:15
blubbpeter
Hallo,
ich möchte eine umfassende Tabelle auswerten und möchte hierfür wissen, welches Wort in einer Spalte ("Überschriften" von Zeitschriften) innerhalb der Tabelle wie oft vorkommt. Hintergrund ist, dass ich aus der Anzahl der jeweils vorkommenden Wörter Rückschlüsse auf die Relevanz eines Themas ziehen möchte.
ZÄHLEWENN kenne ich, aber hierfür muss ich ja ein Suchwort vorgeben, iSv "sage mir wie oft das Wort XYZ vorkommt". Ich möchte aber sozusagen, dass Excel in einem ersten Schritt alle in der Spalte vorkommenden Wörter erfasst und mir dann sagt, welches der erfassten Wörter wie oft vorkommt.
Gibt es hierfür einen Weg, zB via Pivot? Ich war bisher leider nicht erfolgreich...
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
Musterdatei?
06.05.2022 08:59:12
UweD
AW: Anzahl Wörter zählen
06.05.2022 09:17:17
blubbpeter
https://www.herber.de/bbs/user/152915.xlsx
Spalte G in der Tabelle hat vier Überschriften. In Spalte J habe ich händisch die vorkommenden Wörter und ich Spalte K händisch gezählt wie oft das jeweilige Wort vorkommt.
AW: Anzahl Wörter zählen
06.05.2022 09:49:09
Phi
Hallo,
wenn die Daten in Spalte A ab Zeile 1 stehen und mit Lerr-Zeilen/Spalten abgerenzt sind, könnte das helfen:

Sub Phi()
Dim Tx As String, Ar, DD As Object
Set DD = CreateObject("Scripting.Dictionary")
Tx = Join(Application.Transpose(Cells(1, 1).CurrentRegion), " ")
Ar = Split(Tx)
For i = 0 To UBound(Ar)
If DD.exists(Ar(i)) Then
DD(Ar(i)) = DD(Ar(i)) + 1
Else
DD(Ar(i)) = 1
End If
Next i
Debug.Print DD.Count
Cells(1, 5).Resize(DD.Count, 2) = Application.Transpose(Array(DD.keys, DD.items))
End Sub
mfg
Anzeige
AW: Anzahl Wörter zählen
06.05.2022 10:14:03
UweD
Hallo
versuch es mal mit diesem Makro
in ein Normales Modul

Sub Zählen()
Dim Z1 As Integer, Sp1 As Integer, Sp2 As Integer, LR As Long
Dim Arr, i As Long, j As Integer, Z As Long, WF
Z1 = 7
Sp1 = 7 'Spalte G
Sp2 = 10 'Spalte J
Set WF = WorksheetFunction
LR = Cells(Rows.Count, Sp1).End(xlUp).Row 'letzte Zeile der Spalte
For i = Z1 To LR
Arr = Split(Cells(i, Sp1), " ")
For j = LBound(Arr) To UBound(Arr)
'Zeile ermitteln
If WF.CountIf(Columns(Sp2), Arr(j)) > 0 Then 'Ist Wort schon vorhanden?
Z = WF.Match(Arr(j), Columns(Sp2), 0) 'Zeile des Wortes
Else
Z = WF.Max(Z1, Cells(Rows.Count, Sp2).End(xlUp).Row + 1) ' noch nicht da,dann unten anfügen
End If
'Wörter auflisten
Cells(Z, Sp2) = Arr(j)
Cells(Z, Sp2 + 1) = Cells(Z, Sp2 + 1) + 1 'Anzahl erhöhen
Next
Next i
End Sub
LG UweD
Anzeige
AW: Anzahl Wörter zählen
06.05.2022 10:28:19
blubbpeter
vielen Dank Uwe! In meiner Bsp Datei funktioniert dies. Wenn ich jedoch in der Bsp Datei den Inhalt der Tabelle durch meine Überschriften ersetze (ca. 1000 Überschriften), erscheint "Laufzeitfehler 1004, Anwendungs- oder objektdefinierter Fehler.
AW: Anzahl Wörter zählen
06.05.2022 11:06:38
UweD
Hallo nochmal
ich denke, da waren mehrere Leerzeichen mal hintereinander.

Sub Zählen()
Dim Z1 As Integer, Sp1 As Integer, Sp2 As Integer, LR As Long
Dim Arr, i As Long, j As Integer, Z As Long, WF
Z1 = 7
Sp1 = 7 'Spalte G
Sp2 = 10 'Spalte J
Set WF = WorksheetFunction
LR = Cells(Rows.Count, Sp1).End(xlUp).Row 'letzte Zeile der Spalte
For i = Z1 To LR
Arr = Split(Cells(i, Sp1), " ")
For j = LBound(Arr) To UBound(Arr)
If Trim(Arr(j))  "" Then
'Zeile ermitteln
If WF.CountIf(Columns(Sp2), Trim(Arr(j))) > 0 Then 'Ist Wort schon vorhanden?
Z = WF.Match(Trim(Arr(j)), Columns(Sp2), 0) 'Zeile des Wortes
Else
Z = WF.Max(Z1, Cells(Rows.Count, Sp2).End(xlUp).Row + 1) ' noch nicht da,dann unten anfügen
End If
'Wörter auflisten
Cells(Z, Sp2) = Arr(j)
Cells(Z, Sp2 + 1) = Cells(Z, Sp2 + 1) + 1 'Anzahl erhöhen
End If
Next
Next i
End Sub
Versuch es mal so
LG UweD
Anzeige
AW: Anzahl Wörter zählen
06.05.2022 13:31:30
blubbpeter
Auf jeden Fall weiter als zuerst :-) Leider stoppt das Macro mit der gleichen Fehlermeldung nach ca. 150 Zeilen.
AW: Anzahl Wörter zählen
06.05.2022 13:46:42
UweD
Das muss an dem jeweiligen Wort liegen.
Welche Makrozeile ist denn dann gelb?
aktiviere mal das Direktfenster
und setze das vor die Fehlerzeile.

Debug.Print Arr(j)

Was wird denn dann im Direktfenster angezeigt?
Alternativ zeigst du mal die Datei mit den Originaldaten
LG UweD
AW: Anzahl Wörter zählen
06.05.2022 13:52:59
UweD
oder debug.print i vor die Fehlerzeile
und untersuchst dann mal den Satz in Zeile i
Oder postest den Satz aus Zeile i hier
Anzeige

119 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige