Clever-Excel-Forum

Normale Version: Daten vereinfachen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich spiel mich seit einigen Tagen mit einer Statistik rum die ich gerne vereinfachen würde. Momentan brauch ich um die Arbeit komplett zu lösen 3-4 Tage. Ich denke ich bin da sicherlich zu umständlich am Werk und würde das gerne vereinfachen:

[attachment=44766]

Hier habe ich in meinem ersten Tabellenblatt Kosten aufgeteilt auf 4 Städte (Wien, Linz, Innsbruck und Graz) zusammen mit einem Kennzeichen (Spalte E).

Ich muss diese Kosten in meinem zweiten Tabellenblatt übersichtlicher darstellen. Soll heißen Zeilen in denen kein Wert vorkommt fallen weg:

[attachment=44767]

Hier ersichtlich ist die Zeile mit dem Kennzeichen 19DAS weggefallen. Da der ursprüngliche Datensatz teilweise sehr groß ausfallen kann benötige ich mittels händischen Übertragen 2-4 Tage.
Mir fällt aber leider kein weg ein dies halbwegs automatisch passieren zu lassen ohne eine Wenn-Formel 30mal zu verschachteln (Was auch nicht wirklich die Produktivität steigern würde^^)

Hat jemand vielleicht eine Idee wie ich das vereinfachen kann?
Vielen Dank!
Hi,

wenn Dein Tabellenaufbau so ist, wie im Bild, geht das ganz easy mit Powerquery:

Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    Summenspalte = Table.AddColumn(Quelle, "Zeilensumme", each List.Sum(List.Range(Record.ToList(_),1))),
    FilterNull = Table.SelectRows(Summenspalte, each ([Zeilensumme] <> null)),
    EntferneSummenSpalte = Table.RemoveColumns(FilterNull,{"Zeilensumme"}),
    ErsetzeNullen = Table.ReplaceValue(EntferneSummenSpalte,null,"",Replacer.ReplaceValue,{"W","L","I","G"})
in
    ErsetzeNullen
Wo ist die hochgeladene Excel Beispieldatei geblieben ?

Je von Pivottabellen gehört ?
(25.08.2022, 08:48)Ralf A schrieb: [ -> ]Hi,

wenn Dein Tabellenaufbau so ist, wie im Bild, geht das ganz easy mit Powerquery:

Code:
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    Summenspalte = Table.AddColumn(Quelle, "Zeilensumme", each List.Sum(List.Range(Record.ToList(_),1))),
    FilterNull = Table.SelectRows(Summenspalte, each ([Zeilensumme] <> null)),
    EntferneSummenSpalte = Table.RemoveColumns(FilterNull,{"Zeilensumme"}),
    ErsetzeNullen = Table.ReplaceValue(EntferneSummenSpalte,null,"",Replacer.ReplaceValue,{"W","L","I","G"})
in
    ErsetzeNullen

Ich hab das probiert. Denke aber dass ich das falsch gemacht habe (Ich habs über VBA > Einfügen > Modul gemacht)
Da fragt er mich dann nach einem Makronamen. Weiter komme ich dann nicht.



(25.08.2022, 08:15)steve1da schrieb: [ -> ]Hola,
die Liste ohne die 0er:
https://www.herber.de/excelformeln/src/call.pl?idx=519
Danach:
https://www.herber.de/excelformeln/src/call.pl?idx=39
Gruß,
steve1da


Inwiefern bekomme ich mit Aggregat die 0er raus? Das hat mich schwer verwirrt.


Ich hab mal eine vereinfachte Testmappe erstellt. Im Grunde wäre das wichtigste nur in der Tabelle E38:I58 die Zeilen, die auf allen Standorten 0,00 enthalten zu entfernen. Dann könnte ich relativ einfach mittels WENN-Formel auf die fertige Tabelle übertragen.


Danke schonmal für die bereits geleistete Hilfe. Ich merke dass ich was Excel-Wissen betrifft noch in den Kindergarten gehe.
Du könntest in der Rechnungstabelle zB eine Hilfsspalte anlegen:

Code:
=SUMME(F38:I38)
Wenn die zB J38:J58 ist, dann:
Code:
=WENNFEHLER(INDEX(Rechnungstabelle!$E$38:$E$58;AGGREGAT(15;6;ZEILE(Rechnungstabelle!$E$38:$E$58)-37/(Rechnungstabelle!$J$38:$J$58<>0);ZEILE(A1)));"")
Hi,

das funktioniert doch ganz einfach:

[attachment=44783]
Zitat:Denke aber dass ich das falsch gemacht habe (Ich habs über VBA > Einfügen > Modul gemacht)


...jepp... war falsch. Du musst über Daten, Daten einfügen.... den Code im erweiterten Editor einfügen

Hab Dir mal ein Bsp. angehängt...
Warum nicht die eingebaute Excel Möglichkeiten ?
(25.08.2022, 10:55)steve1da schrieb: [ -> ]Du könntest in der Rechnungstabelle zB eine Hilfsspalte anlegen:

Code:
=SUMME(F38:I38)
Wenn die zB J38:J58 ist, dann:
Code:
=WENNFEHLER(INDEX(Rechnungstabelle!$E$38:$E$58;AGGREGAT(15;6;ZEILE(Rechnungstabelle!$E$38:$E$58)-37/(Rechnungstabelle!$J$38:$J$58<>0);ZEILE(A1)));"")


Hab jetzt auch mit großen Datensätzen rumgespielt und das funktioniert am besten in der Praxis.
Vielen lieben Dank an Alle für die schnelle Hilfe. Das wird mir meine Arbeit ordentlich erleichtern.