Wie in Excel bedingte Summe über mehrere Tabellenblätter hinweg?
Hi Leute,
ich habe hier eine Excel-Datei mit mehreren Tabellenblättern - für jeden Kunden eines sowie ein (geplantes) Summenblatt.
In den Kundenblättern gibt es eine Spalte mit dem Zahlungsziel und der Summe.
Nun würden wir gerne auf dem Summenblatt den Namen des Kunden, das Datum des Zahlungsziels und die Summe auflisten, wenn ein Zahlungsziel gegeben ist - und zwar für alle Kunden...
Notfalls könnte man die einzelnen Blätter "fest verdrahtet" ansprechen - das halte ich aber für wenig elegant - und könnte problematisch werden, wenn eim Kunde hinzukommt oder gestrichen wird.
Etwas eleganter, wäre wohl der Weg über eine Hilfstabelle, in der die Kunden und ihre Zuordnung zu den einzelnen Blättern gelistet sind.
Ideal wäre aber eine Lösung, die automatisch über alle Blätter läuft...
Doch da fällt mir nichts prikelndes zu ein...
ciao
dirk
ich habe hier eine Excel-Datei mit mehreren Tabellenblättern - für jeden Kunden eines sowie ein (geplantes) Summenblatt.
In den Kundenblättern gibt es eine Spalte mit dem Zahlungsziel und der Summe.
Nun würden wir gerne auf dem Summenblatt den Namen des Kunden, das Datum des Zahlungsziels und die Summe auflisten, wenn ein Zahlungsziel gegeben ist - und zwar für alle Kunden...
Notfalls könnte man die einzelnen Blätter "fest verdrahtet" ansprechen - das halte ich aber für wenig elegant - und könnte problematisch werden, wenn eim Kunde hinzukommt oder gestrichen wird.
Etwas eleganter, wäre wohl der Weg über eine Hilfstabelle, in der die Kunden und ihre Zuordnung zu den einzelnen Blättern gelistet sind.
Ideal wäre aber eine Lösung, die automatisch über alle Blätter läuft...
Doch da fällt mir nichts prikelndes zu ein...
ciao
dirk
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137232
Url: https://administrator.de/contentid/137232
Ausgedruckt am: 23.11.2024 um 15:11 Uhr
3 Kommentare
Neuester Kommentar
Ich würde ein eigenes Tabellenblatt anlegen, wo die Kunden mit einer Nummer versehen sind.
Danach würd ich in dem Summenblatt eine wenn funktion verschachtelt mit einer sverweis funktion machen.
Das sollte dann so aussehen:
wenn(A2<>0;sverweis(Suchkriterium;Matrix;Spaltenindex;FALSCH);"")
Je nach dem welchen Spaltenindex du eingibst kann zB Name, Summe usw. ausgegeben werden.
ich hoffe ich konnte dir helfen
lg
Danach würd ich in dem Summenblatt eine wenn funktion verschachtelt mit einer sverweis funktion machen.
Das sollte dann so aussehen:
wenn(A2<>0;sverweis(Suchkriterium;Matrix;Spaltenindex;FALSCH);"")
Je nach dem welchen Spaltenindex du eingibst kann zB Name, Summe usw. ausgegeben werden.
ich hoffe ich konnte dir helfen
lg
Hallo diwaffm!
Da Du mit Details ja eher sparsam warst, ein VBA-Beispiel mit angenommenen Werten und für den Fall, dass es für jeden Kunden mehrere Summen (jeweils eben mit oder ohne Zahlungsziel) gibt:
Außerdem bin ich davon ausgegangen, dass sich der Kundenname aus dem jeweiligen Tabellennamen ergibt.
Grüße
bastla
Da Du mit Details ja eher sparsam warst, ein VBA-Beispiel mit angenommenen Werten und für den Fall, dass es für jeden Kunden mehrere Summen (jeweils eben mit oder ohne Zahlungsziel) gibt:
Sub ErstelleListe()
Summenblatt = "Gesamt"
AbZeileSum = 2
AbSpalteSum = 1 'Spalte A
AbZeileKunde = 2
SpalteZZ = 5 'Spalte E
SpalteS = 7 'Spalte G
'Alte Daten aus Summenblatt löschen
Range(Cells(AbZeileSum, AbSpalteSum), Cells(AbZeileSum, AbSpalteSum).End(xlDown).End(xlToRight)).ClearContents
ZeileSum = AbZeileSum
For Each Blatt In Worksheets()
If Blatt.Name <> Summenblatt Then
ZeileKunde = AbZeileKunde
Do While Blatt.Cells(ZeileKunde, SpalteS) <> ""
If Blatt.Cells(ZeileKunde, SpalteZZ) <> "" Then
With Worksheets(Summenblatt)
.Cells(ZeileSum, AbSpalteSum) = Blatt.Name
.Cells(ZeileSum, AbSpalteSum + 1) = Blatt.Cells(ZeileKunde, SpalteZZ)
.Cells(ZeileSum, AbSpalteSum + 2) = Blatt.Cells(ZeileKunde, SpalteS)
End With
ZeileSum = ZeileSum + 1
End If
ZeileKunde = ZeileKunde + 1
Loop
End If
Next
MsgBox "Fertig."
End Sub
Grüße
bastla