benutze Excel 2002 und möchte mit der Funktion "zählenwenn" Einträge in
mehreren Tabellblättern addieren lassen. Leider funktioniert es gar nicht
:-( (angrenzende Felder auf einem Blatt komischerweise ohne Probleme).
Bsp.:
Auf 5 Tabellenblättern jeweils D10 falls Werte gößer "1"
=zählenwenn(Tabelle1!D10;Tabelle2!D10; .....D10;">1")
Bin ich da auf dem Holzweg mit meinem Ansatz?
Gruß
Jürgen Ziegler
ZÄHLENWENN geht nicht in 3D ( über mehrere Blätter )
aber du kannst z. B. wenn die Tabellen durchnummeriert sind
Tabelle1 bis Tabelle5 heißen dann
=SUMME(ZÄHLENWENN(INDIREKT("Tabelle"&ZEILE(1:5)&"!D10");">1"))
dann die Formel mit STRG+SHIFT+ENTER abschließen
mfg Herbert
Jürgen Ziegler schrieb am 17.11.2005
> benutze Excel 2002 und möchte mit der Funktion "zählenwenn" Einträge in
> mehreren Tabellblättern addieren lassen. Leider funktioniert es gar nicht
> :-( (angrenzende Felder auf einem Blatt komischerweise ohne Probleme).
ZÄHLENWENN() ist nicht auf die Verwendung in mehreren Tabellenblättern
ausgelegt.
> Bsp.:
> Auf 5 Tabellenblättern jeweils D10 falls Werte gößer "1"
>
> =zählenwenn(Tabelle1!D10;Tabelle2!D10; .....D10;">1")
>
> Bin ich da auf dem Holzweg mit meinem Ansatz?
Leider ja :-(
Du kannst allerdings auch eine Benutzerdefinierte Funktion verwenden,
welche über die angegebenen Tabellenblätter die ZÄHLENWENN() anwendet:
Public Function ZählenWennTabellen(Tab1 As String, _
Tab2 As String, _
Bereich As Range, _
Suchkriterium As String) As Double
'© t.r...@mvps.org / 09.01.2005
'Funktion zur Anwendung von ZÄHLENWENN() über mehrere Tabellenblätter
'Mit angegeben werden die Tabellenblattnamen von...bis,
'sowie die üblichen Parameter für ZÄHLENWENN()
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und F9 drücken
'Also z.B. wie folgt: =ZählenWennTabellen(A1:A10;A1)+(0*JETZT())
Dim intI As Integer
Dim intJ As Integer
Dim intTab As Integer
Dim Wert As Double
If Suchkriterium = "" Then
ZählenWennTabellen = 0
Exit Function
End If
intI = Worksheets(Tab1).Index
intJ = Worksheets(Tab2).Index
For intTab = intI To intJ
Set Bereich = ActiveWorkbook.Worksheets(intTab) _
.Range(Bereich.Address)
Wert = Wert + Application.WorksheetFunction.CountIf _
(Bereich, Suchkriterium)
Next intTab
ZählenWennTabellen = Wert
End Function
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)