Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: linlin am Mai 04, 2018, 15:10:18 Nachmittag
-
Hallo zusammen,
ich möchte zählen, wie viele Text-Zellen auf einem Tabellenblatt mit 40.000+ Zeilen eine bestimmte Endung beinhalten.
Ein Beispiel für eine Endung ist "*.cs". Über ZÄHLENWENN werden hier auch die Zellen gezählt, die auf ".css" oder ".csv" enden.
Eine Möglichkeit ist natürlich zu gucken, welche Strings sich überschneiden und die Anzahl der anderen Endungen (.css, .csv) durch eine Kombination an ZÄHLENWENN-Formeln abzuziehen. Dies ist mir jedoch zu fehleranfällig und aufwending.
Kennt jemand eine andere Lösung? :)
Viele Grüße
-
Ja, die kenne ich.
In 2016 Daten | Abrufen und transformieren und dann folgenden Code in Erweiterter Editor Ersetzen:
let
Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Spalte1", type text}}),
#"Duplizierte Spalte" = Table.DuplicateColumn(#"Geänderter Typ", "Spalte1", "Spalte1 - Kopie"),
#"Spalte nach Trennzeichen teilen" = Table.SplitColumn(#"Duplizierte Spalte", "Spalte1 - Kopie", Splitter.SplitTextByEachDelimiter({"."}, QuoteStyle.Csv, true), {"Spalte1 - Kopie.1", "Spalte1 - Kopie.2"}),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Spalte nach Trennzeichen teilen",{{"Spalte1 - Kopie.1", type text}, {"Spalte1 - Kopie.2", type text}}),
#"Entfernte Spalten" = Table.RemoveColumns(#"Geänderter Typ1",{"Spalte1 - Kopie.1"}),
#"Gefilterte Zeilen" = Table.SelectRows(#"Entfernte Spalten", each ([#"Spalte1 - Kopie.2"] = "cs")),
#"Berechnete Anzahl" = List.NonNullCount(#"Gefilterte Zeilen"[#"Spalte1 - Kopie.2"]),
#"In Tabelle konvertiert" = #table(1, {{#"Berechnete Anzahl"}}),
#"Umbenannte Spalten" = Table.RenameColumns(#"In Tabelle konvertiert",{{"Column1", "Anzahl *.cs"}})
in
#"Umbenannte Spalten"Deine Daten sind in Spalte_A und als Tabelle formatiert. Eventuell anpassen ... (oder sich mit Power Query auseinandersetzen ;))
-
Vielen Dank für die rasche Antwort und den ausführlichen Code!
Leider übersteigt die Antwort meine Fähigkeiten... Über eine Formel lässt sich das auf keinen Fall lösen? Mit dem Daten-Reiter habe ich bisher noch keine Erfahrungen gesammelt.
-
Moin,
das habe ich mir (sogar) gedacht. Aber ich habe auf der Basis deiner Beispiel-Datei :'( geantwortet.
Es könnte sein, dass du mit =N(RECHTS(A1;3)=".cs") zum Ziel kommst, das ist aber weniger flexibel.
-
Um die Anzahl der gesuchten nicht vorzuenthalten:
=SUMMENPRODUKT(--(RECHTS(A1:A40000;3)=".cs"))
Wenn es denn unbedingt flexibel sein muss:
=SUMMENPRODUKT(--(RECHTS(A1:A40000;LÄNGE(X1))=X1)) mit X1: .cs
-
Super, vielen Dank für eure Hilfe! :)
Mit dem letzten Vorschlag von lupo1 hat es direkt funktionert. Toll!