Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vorletzten Monat suchen

Vorletzten Monat suchen
24.11.2004 20:56:57
Wolfgang
Mit folgendem Makro erreiche ich, dass der Mittelwert des letzten Monats errechnet wird. Leider funktioniert dies nur, wenn neben dem letzten Datum auch ein Wert steht. Wie kann ich erreichen, dass trotzdem der Mittelwert errechnet wird und wenn noch gar kein Wert im Monat da ist, zum vorletzten Monat, der darüber steht, gesprungen wird ?
Toll wäre es, wenn ich den Mittelwert des letzten Monats, wo daneben auch Werte stehen und des vorletzten Monats (ist vollständig gefüllt) gezeigt bekommen würde.
In Spalte A stehen immer die Datumsangaben im Format dd/mm/yy", in Spalte B stehen die Werte ohne Leerstellen ( bis auf die letzten)
Vielen Dank
Wolfgang
Public Sub Testb() Dim a, b, betr As Integer a = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row b = a Do While Month(Cells(a, 1)) = Month(Cells(b, 1)) If WorksheetFunction.Count(Range(Cells(a, 2), Cells(b, 2))) = 0 Then Exit Sub Else betr = WorksheetFunction.Average(Range(Cells(a, 2), Cells(b, 2))) a = a - 1 End If Loop Range("K4") = betr End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vorletzten Monat suchen
24.11.2004 22:30:56
Josef
Hallo Wolfgang!
Das geht auch ohne Makro!
Tabelle2
 ABCDE
1DatumWert   
201.10.200422,8214286 Mittelwert letzter Monat22,8675115
302.10.200423,1071429 Mittelwert aktueller Monat26,3702147
403.10.200423,3928571   
504.10.200423,6785714   
605.10.200423,9642857   
706.10.200424,25   
807.10.200424,5357143   
908.10.200424,8214286   
1009.10.200425,1071429   
1110.10.200425,3928571   
1211.10.200425,6785714   
1312.10.200419,3928571   
1413.10.200419,6785714   
1514.10.200419,9642857   
1615.10.200420,25   
1716.10.200420,5357143   
1817.10.200420,8214286   
1918.10.200421,1071429   
2019.10.200421,3928571   
2120.10.200421,6785714   
2221.10.200421,9642857   
2322.10.200422,25   
2423.10.200422,5357143   
2524.10.200422,8214286   
2625.10.200423,1071429   
2726.10.200423,3928571   
2827.10.200423,6785714   
2928.10.200423,9642857   
3029.10.200424,25   
3130.10.200424,5357143   
3231.10.200424,8214286   
3301.11.200425,1071429   
3402.11.200425,3928571   
3503.11.200425,6785714   
3604.11.200425,9642857   
3705.11.200426,25   
3806.11.200426,5357143   
3907.11.200426,8214286   
4008.11.200427,1071429   
4109.11.200427,3928571   
4210.11.200427,4521473   
4311.11.2004    
4412.11.2004    
4513.11.2004    
4614.11.2004    
4715.11.2004    
4816.11.2004    
4917.11.2004    
5018.11.2004    
5119.11.2004    
5220.11.2004    
5321.11.2004    
5422.11.2004    
5523.11.2004    
5624.11.2004    
5725.11.2004    
5826.11.2004    
5927.11.2004    
6028.11.2004    
6129.11.2004    
6230.11.2004    
6301.12.2004    
6402.12.2004    
Formeln der Tabelle
E2 : {=SUMMENPRODUKT((MONAT(A2:A100)=MONAT(MAX(WENN($B$2:$B$100<>"";$A$2:$A$100;ZEILE(2:100))))-1)*(B2:B100))/SUMMENPRODUKT((MONAT(A2:A100)=MONAT(MAX(WENN($B$2:$B$100<>"";$A$2:$A$100;ZEILE(2:100))))-1)*(B2:B100<>""))}
E3 : {=SUMMENPRODUKT((MONAT(A2:A100)=MONAT(MAX(WENN($B$2:$B$100<>"";$A$2:$A$100;ZEILE(2:100)))))*(B2:B100))/SUMMENPRODUKT((MONAT(A2:A100)=MONAT(MAX(WENN($B$2:$B$100<>"";$A$2:$A$100;ZEILE(2:100)))))*(B2:B100<>""))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Sepp
Anzeige
AW: Vorletzten Monat suchen
24.11.2004 23:26:32
Wolfgang
Hallo Sepp
Vielen Dank für die Formel. Wäre ich nie darauf gekommen.
Allerdings erscheint beim Abschluß mit {} der Hinweis:
ARRAYFORMELN KÖNNEN IN VERBUNDENEN ZELLEN NICHT VERWENDET WERDEN
Ich muß dazu sagen, dass die Tabelle schon mit mehreren Makros bestückt ist.
(z.B.: Abfrage des Mittelwertes je Monat durch ComboBox und
Errechnen des Mittelwertes pro Tag (die Tabelle hat 4 mit Werten gefüllte Spalten),
hatte ich zwecks Einfachheit nicht angegeben,
Automatisches Eintragen der Mittelwerte der letzten 30 Werte je Spalte,
sowie Abfrage des Mittelwertes nach freier Tagesanzahleingabe mittels CommandButton,
Liegt die Ursache, dass ich die Formel nicht abschließen kann an diesen Makros?
Viele Grüße sendet
Wolfgang
Anzeige
AW: Vorletzten Monat suchen
24.11.2004 23:31:35
Josef
Hallo Wolfgang!
Nein, nicht an den Makros, sonder genau wie die fehlermeldung sagt,
an den Verbundenen Zellen!
Gruß Sepp
Mit Makro
24.11.2004 23:54:32
Josef
Hallo Wolfgang!
Wenn die Datumsreihe durchgehend gefüllt ist (vom 1. bis zum letzten des Monats),
dann kannst du auch dieses Makro verwenden!
Sub Wolfgang() Dim rng As Range Dim lEnd As Long [K4:K5].ClearContents 'Ausgabezellen - anpassen lEnd = Range("B65536").End(xlUp).Row On Error Resume Next 'falls kein "Vormonat" vorhanden Set rng = Range("A:A").Find(DateValue("01/" & Format(Cells(lEnd, 1), "mm/yy"))) If Not rng Is Nothing Then _ [K4] = Application.Average(Range(Cells(rng.Row, 2), Cells(lEnd, 2))) 'Durchschnitt aktueller monat lEnd = rng.Row - 1 Set rng = Range("A:A").Find(DateValue("01/" & Format(Cells(lEnd, 1), "mm/yy"))) If Not rng Is Nothing Then _ [K5] = Application.Average(Range(Cells(rng.Row, 2), Cells(lEnd, 2))) 'Durchschnitt Vormonat End Sub
Gruß Sepp
Anzeige
AW: Mit Makro
24.11.2004 23:59:08
Wolfgang
Hallo Sepp
Habe meinen Fehler bemerkt , sorry
Bin noch beim Testen Formel geht, probiere natürlich auch das Makro.
Vielen Dank und schönen Abend
Wolfgang
AW: Mit Makro
25.11.2004 00:07:50
Wolfgang
Hallo Sepp
Das Makro geht super,
nochmals vielen Dank.
Wolfgang

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige