Anzeige
Archiv - Navigation
1244to1248
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
Inhaltsverzeichnis

wenn formel mit vergleich des Datums

wenn formel mit vergleich des Datums
Alexander
Hallo,
ich habe einige Formeln, die ich nun erweitern möchte.
Sinn der Erweiterung ist die Erkennung der Jahreszahl, damit die Formel ausschließlich bei Einträgen in angegebenen Jahr funktioniert.
Die Angabe des Jahres ist in Feld B2 und wird mit 01.01.2012 eingegeben und mit der Formatierung als reine Jahreszahl 2012 angegeben.
Nun habe ich in Spalte A zu jedem Eintrag das Datum stehen.
Jetzt habe ich z. B. folgende Formel die ich erweitern möchte: =normalsumme(INDIREKT("N"&$O9):INDIREKT("N"&$P9))
in O9 wird der Anfangswert wiedergegeben und in P9 der Endwert für den Bereich um den es zu addieren geht. Ich würde gerne so eine Formel daraus machen, die in etwa so lautet:
=wenn((INDIREKT("N"&$O9):INDIREKT("N"&$P9))=selbes Jahr wiedergegeben in B2; normalsumme(INDIREKT("N"&$O9):INDIREKT("N"&$P9));0)
Grüße
Alex

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: wenn formel mit vergleich des Datums
01.01.2012 22:46:58
Josef

Hallo Alex,
was ist "normalsumme"?
Ich glaube, das lässt sich mit SUMMENPRODUKT() lösen.
Eine Beispieltabelle (mit Erklärung) wäre sicher hilfreich.

« Gruß Sepp »

AW: wenn formel mit vergleich des Datums
01.01.2012 23:14:52
Alexander
Normalsumme ist irgendwas mit VBA (wo ist eigentlich in der 2007er Version dieser Visual Basic Editor?) die mir das Forum erstellt hat.
Es geht hier um eine klassische Summenformel die aber ausgelegt ist auf die Formatierung der Zelle.
So habe ich auch Fettsumme oder Kursivsumme oder Fettkursivsumme.
Für eine Beispieltabelle muß ich erst etwas zusammenfügen, ich weiß allerdings nicht ob das dann funktioniert da es mittlerweile so eine komplexe Datei geworden ist.
Ich hoffe mir kann ersteinmal so geholfen werden.
Anzeige
AW: wenn formel mit vergleich des Datums
02.01.2012 10:40:06
fcs
Hallo Alex,
dein Berechnungsproblem kann man mit der Funktion SUMMENPRODUKT lösen, also ohne benutzerdefinierte VBA-Funktion.
Tabelle2

 BC
201.01.2012134

Formeln der Tabelle
ZelleFormel
C2=SUMMENPRODUKT((JAHR(INDIREKT("A"&$O9):INDIREKT("A"&$P9))=JAHR($B$2))*INDIREKT("N"&$O9):INDIREKT("N"&$P9))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Unter Excel 2007 ist der VBA-Editor da wo er in Excel 2003 auch ist.
Er kann mit der Tastenkombination Alt+F11 angezeigt werden.
Zusätzlich solltest du dir ggf. zusätzlich via Excel-Optionen das Register "Entwicklertools" in der Menüleiste einblenden. Dann hast du auch via Mausklicks Zugriff auf die entsprechenden Fuktionen.
Userbild
Gruß
Franz
Anzeige
AW: wenn formel mit vergleich des Datums
02.01.2012 13:52:59
Alexander
Hallo Franz,
vielen Dank ersteinmal. Jedoch ist mein Problem die Normalsumme. Mit Deiner Formel werden alle Beträge addiert, auch die die in Kursiv oder Fett, etc. geschrieben sind.
Aber vielleicht kann man die VBA Module auch auf SUMMENPRODUKT erweitern. NORMALSUMMENPRODUKT, etc.
Allerdings habe ich keine Ahnung von VBA: Hier mal Modul 1 für NORMALSUMME: Function NormalSumme(Bereich As Range) As Double 'Quelle: Alois Eckl Dim zelle As Range Application.Volatile For Each zelle In Bereich If zelle.Font.Bold = False And _ zelle.Font.Italic = False Then NormalSumme = NormalSumme + zelle.Value End If Next zelle End Function Grüße
Alex
Anzeige
AW: wenn formel mit vergleich des Datums
03.01.2012 01:30:33
fcs
Hallo Alex,
deine benutzerdefinierte Funktion, die Zellenformate für die Summenbildung auswertet, kann man um die Prüfung des Datums in Spalte A ergänzen.
Die Formel sieht dann wie folgt aus. Durch die Auswertung in der Funktion reicht es aus, wenn als Bereich für die zu vergleichenden Datumswerte eine einzelne Zelle in Spalte A gewählt wird.
Tabelle2

 D
279
379

Formeln der Tabelle
ZelleFormel
D2=NormalSummeJahr(INDIREKT("N" & $O9 & ":N" & $P9); INDIREKT("A" & $O9 & ":A" & $P9); JAHR(B2))
D3=NormalSummeJahr(INDIREKT("N" & $O9 & ":N" & $P9); A4; JAHR(B2))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß
Franz
Function NormalSummeJahr(Bereich As Range, BereichDatum As Range, Jahr As Long) As Double
'Quelle: Alois Eckl - modifiziert von fcs
Dim zelle As Range
Application.Volatile
For Each zelle In Bereich
If zelle.Font.Bold = False And _
zelle.Font.Italic = False Then
If Year(zelle.Offset(0, BereichDatum.Column - Bereich.Column).Value) = Jahr Then
NormalSummeJahr = NormalSummeJahr + zelle.Value
End If
End If
Next zelle
End Function

Anzeige
AW: wenn formel mit vergleich des Datums
03.01.2012 15:09:17
Alexander
Hallo Franz,
vielen Dank für die Erweiterung. Allerdings bin ich mir nicht sicher ob das Ursprungsmodul noch funktionieren würde, also habe ich einfach ein neues Modul erstellt.
Die Formel funktioniert auch, zumindest die erste, zweite habe ich nicht angewendet, weil ich ja dann eine Zelle festlegen muss, da sie variabel sind, scheint mir dir erste Formel für meine Zwecke besser zu sein.
Doch weiß ich nicht ob die Formel wirklich zum Einsatz kommt, denn ich kann sie nicht ganz nachvollziehen, ja sie funktioniert aber ich verstehe sie diesmal nicht ganz oder noch nicht.
Mir hat bei meinen Problem wohl eine andere Lösung vorgeschwebt, deswegen tue ich mich da schwer. Scheint aber keine andere Lösung zu geben.
Ich habe eine Zeile von 8 Formeln nebeneinander, die alle auf die Basis des Vergleiches des Jahres in B2 umgeändert werden müssten. Aber bei den 8 Formeln handelt es sich nicht immer um den Befehl SUMME, sondern auch WENN und einfach nur ISTGLEICH, diese Formeln müssten so auf eine andere Art und Weise als wie mit Deiner Lösung verändert werden und somit macht es sich für mich schwerer mit Deiner Lösung klar zu kommen. Ich dachte es gibt einfach einen Befehl wie VERGLEICH.
Grüße
Alex
Anzeige
AW: wenn formel mit vergleich des Datums
03.01.2012 15:26:18
fcs
Hallo Alex,
normalerweise ist es kein Problem mehrere benutzerdefinierte Funktionen in einem Modul zu erstellen.
Das Grundübel deiner Tabellenauswertungen ist, dass du Zell-Formatierungen in den Berechnungen auswerten möchtest - warum auch immer. Dadurch kannst du nicht mit den Standardfunktionen wie SUMMEWENN, SUMMENPRODUKT etc. arbeiten.
Einfacher wäre es, wenn du in einer Hilfsspalte die Zeilen kennzeichnen würdest, die bei bestimmten Summierungen berücksichtigt werden sollen, dann gehen die Auswertungen mit Standard-Tabellenfunktionen.
Gruß
Franz

333 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige