Moin Moin!
Ich habe zwei Excel Tabellen-Typen.
1. Wasserpegeldaten. Spalte A = Mess-Datum ; Spalte B = Wasserhöhe (01.1989 33,04m; 02.1989 33,68m ff.) Davon ca. 200
2. Eine "Zusammenfassung" der Daten. Da ich 200 einzelne Blätter (Stationen entlang eines Flusses) habe, würde ich gerne für jede Station die Monatsmaxima und -Minima ermitteln.
Sprich, Januar: Wie hoch stand das Wasser minmal und maximal in der Aufzeichnungsreihe. Und das für jeden Monat.
Wenn Excel deutsch könnte, würde ich folgendes in die Zelle schreiben: "Zeig mir von allen Januar-Werten den niedrigsten/höchsten"... :19:
Das geht bestimmt mit Pivot - aber da die Daten-Tabellen täglich neue Daten erhalten hätte ich das gerne dynamisch.
Hat da jemand eine Idee?
lg Monika
Hallo,
ich habe verstanden:
- 1 Blatt pro Station mit Datum 1.1989 (TT.YYYY)
für 1.1.1989 - 14.8.2018?
- einmalige Abfrage für die Vergangenheit, tägliche Aktualisierung für aktuelles Datum
offen ist:
1 Blatt oder 1 Datei pro Station
Kenntnisse in VBA
Wenn diese (und event. weitere) Fragen geklärt werden, sollte es möglich sein.
mfg
Vielen Dank für das Angebot zu helfen!
Eine Datei mit einem Blatt pro Station mit der jeweiligen Zeitreihe. Beispiel:
Datum der Messung;Wasserstand in m NHN2016
07.1991;32,27
08.1991;32,19
09.1991;32,15
10.1991;32,11
.....
08.2018;31,21
Davon habe ich rund 200 einzelne Excel-Files (Dateien)
Kenntnisse in VBA gehen gegen 0
Beste Grüße
Monika :)
Hallo,
soll das Ergebnis so wie in der beigefügten Datei aussehen?
Sind die Tageswerte in Spalte A Texte?
Wo steht der Name der Station?
Sind alle Dateien in einem Ordner?
mfg
(Ohne eine Beispieldatei ist die Gefahr von Missverständnissen recht groß)
Hallo!
Ja so wie du das dargestellt hast, wäre das schon optimal.
Alles Daten sind in einem Ordner. Ich würde diese Berechung dann einmal in der Datei selber durchführen und danach eine Zusammenfassung wie die deine erstellen.
Spalte A ist als Datum [MM.JJJJ] formatiert. Spalte B als Dezimalzahl.
Die Abfrage muss es auch nicht für alle 200 automatisch machen - das kann ich auch klicken. Wichtig wäre für mich die Formel
Hallo, in deinem Beispiel hier ginge das..: (nach unten und nach rechts ziehen)
Arbeitsblatt mit dem Namen 'Messstelle_101620160_KL 5 K' |
| H | I | J |
2 | | Min | Max |
3 | Januar | 32,13 | 33,98 |
4 | Februar | 32,19 | 33,55 |
5 | März | 32,23 | 33,31 |
6 | April | 32,31 | 33,74 |
7 | Mai | 32,22 | 33,21 |
8 | Juni | 32,14 | 33,02 |
9 | Juli | 32,08 | 32,78 |
10 | August | 32,05 | 32,64 |
11 | September | 31,97 | 32,52 |
12 | Oktober | 31,96 | 32,51 |
13 | November | 32,01 | 33,28 |
14 | Dezember | 32,02 | 33,32 |
Zelle | Formel |
I3 | =AGGREGAT(16-SPALTE(A$1);6;$B$2:$B$83/(TEXT($A$2:$A$83;"MMMM")=$H3);1) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Hallo Stefan,
für eine Datei geht es so (xl2016, "Daten dem Datenmodell zufügen")
mfg
Super! Danke für die Hilfe!
Das mit der Aggregat funktioniert, jetzt teste ich noch die Lösung von Fennek!
Vielen Lieben Dank!
(15.08.2018, 13:26)Monika_Kiel schrieb: [ -> ]Hallo!
...
Die Abfrage muss es auch nicht für alle 200 automatisch machen - das kann ich auch klicken. Wichtig wäre für mich die Formel
Hallo, das könnte man aber für alle 200 automatisch machen - denke ich. Mit Power Query. Das wäre zudem dynamisch, also wenn Daten (Dateien) dazu kämen...
Hallo,
dieser Code sollte meine Beispieldatei mit den Werten aller Stationen füllen:
Code:
Sub F_en()
Dim WS As Worksheet: Set WS = ActiveSheet
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
Dim Mn(11) As Single
Dim Mx(11) As Single
Pf = ThisWorkbook.Path & "\"
f = Dir(Pf & "Messstell*.xlsx") '<<<<< anpassen >>>
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
Do While Len(f)
For i = 0 To 11
Mn(i) = 1000
Mx(i) = 0
Next i
With GetObject(Pf & f)
WS.Cells(lr, 1) = .Sheets(1).Name
lrd = .Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Ar = .Sheets(1).Range("A2:B" & lrd)
For i = 1 To UBound(Ar)
Mo = Month(Ar(i, 1)) - 1
Mn(Mo) = WSF.Min(Mn(Mo), Ar(i, 2))
Mx(Mo) = WSF.Max(Mn(Mo), Ar(i, 2))
Next i
For i = 0 To 11
'Debug.Print MonthName(i + 1), Mn(i), Mx(i)
WS.Cells(lr, 2).Offset(, 2 * i) = Mn(i)
WS.Cells(lr, 3).Offset(, 2 * i) = Mx(i)
Next i
lr = lr + 1
.Close 0
End With
f = Dir
Loop
End Sub
mfg