Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Summe mit mehrerer Kriterien Dateiübergreifend

Summe mit mehrerer Kriterien Dateiübergreifend
20.03.2008 16:20:03
Kati
Hallo liebes Excelforum,
ich habe ein Problem. Bisher bin ich mit einem einfachen sverweis ausgekommen, jetzt benötige ich jedoch einen sverweis der auf grund mehrerer Kriterien Werte addiert und mir als Summe wiedergibt.
Das verzwickte kommt jetzt noch, der Bereich/Matrix ist in einer anderen Datei. Eine Aktualisierung muss jedoch auch möglich sein, ohne die andere Datei erst aufzumachen.
Hier ein Beispiel:

Datei1 (Ausgabedatei)

Suchkriterien für die Summe:
A
C
D
Ergebnis:24
Datei2
Bereich/Matrix
Spalte A Spalte B
A 10
B 8
C 5
D 9
E
F 3
G 11
H 7
Ich bin fast am verzweifeln.
liebe Grüße,
Kati

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe mit mehrerer Kriterien Dateiübergreifend
20.03.2008 16:48:00
Mag
Hallo,
Ansatz - vielleicht geht es einfacher:

Option Explicit
Sub ttt()
'Die nicht geöffnete Datei heisst 'Mappe2.xls'
'Die Daten stehen in 'Tabelle1' in Spalte 2 ab Reihe 1
'Die Vergleichswerte stehen in 'Tabelle1' in Spalte 1 ab Reihe 1
MsgBox Summe
End Sub
Function Summe() As Double
Dim Wert As Double, Vergleich As String, i As Long
'Für 10 Werte:
For i = 1 To 10
Vergleich = Application.ExecuteExcel4Macro( _
"'C:\Temp\[Mappe2.xls]Tabelle1'!R" & i & "C1")
If Vergleich = "A" Or Vergleich = "C" Or Vergleich = "D" Then
Wert = Application.ExecuteExcel4Macro( _
"'C:\Temp\[Mappe2.xls]Tabelle1'!R" & i & "C2")
Summe = Summe + Wert
End If
Next i
End Function


Gruss

Anzeige
AW: Summe mit mehrerer Kriterien Dateiübergreifend
20.03.2008 17:12:42
Kati
Hallo Mag,
danke für die schnelle Antwort.
Den Code muss ich jetzt erstmal wirken lassen.... ihn dann auf die richtige etwas umfangreichere Datei umzumünzen, wird schon etwas kniffelig, so ohne große VBA Kenntnisse. Formel wäre natürlich am besten ;-)
Zumal die Dateien auf dem Server liegen und die Pfadangaben variabel sein müssen...
Gruß,
Kati

AW: Summe mit mehrerer Kriterien Dateiübergreifend
21.03.2008 14:54:00
fcs
Hallo Kati
evtl. kommst du ja mit der Funktion SUMMENPRODUKT weiter. Die 100 in den Formeln muss du ggf. an die maximale Anzahl Datenzeilen in deinen Dateien anpassen.
Das Problem mit den variablen Pfaden, müsstest du ggf. mit Suchen/Ersetzen lösen.
Oder du steigst doch etwas weiter in die Tiefen des VBA ein, um die Pfadangabe in den Formeln per VBA zu ersetzen.
Gruß
Franz

Tabellenblattname: Tab1
A         B
1  Kriterien   Summe
2          A      10
3          C       5
4          D       9
5                  0
6                  0
7                  0
8                 24
9                 24
Benutzte Formeln:
B2:  =SUMMENPRODUKT((A2='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B3:  =SUMMENPRODUKT((A3='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B4:  =SUMMENPRODUKT((A4='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B5:  =SUMMENPRODUKT((A5='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B6:  =SUMMENPRODUKT((A6='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B7:  =SUMMENPRODUKT((A7='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)
*'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
B8:  =SUMME(B2:B7)
B9:  =SUMMENPRODUKT((A2='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)*
'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
+SUMMENPRODUKT((A3='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)*
'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)
+SUMMENPRODUKT((A4='C:\Test\[Daten01.xls]Tab1'!$A$2:$A$100)*
'C:\Test\[Daten01.xls]Tab1'!$B$2:$B$100)


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige