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

Titel: Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag 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
Titel: Antw:Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag von: gmg-cc am Mai 04, 2018, 16:12:34 Nachmittag
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  ;))
Titel: Antw:Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag von: linlin am Mai 04, 2018, 16:30:24 Nachmittag
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.
Titel: Antw:Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag von: gmg-cc am Mai 04, 2018, 16:35:56 Nachmittag
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.
Titel: Antw:Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag von: lupo1 am Mai 05, 2018, 00:13:28 Vormittag
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
Titel: Office 2016 Antw:Office 2016 Zellen auf eine bestimme Endung prüfen
Beitrag von: linlin am Mai 07, 2018, 09:17:01 Vormittag
Super, vielen Dank für eure Hilfe! :)

Mit dem letzten Vorschlag von lupo1 hat es direkt funktionert. Toll!