Microsoft Excel

Herbers Excel/VBA-Archiv

Daten auswerten mit Array, Pivot, Matrixformel....

Betrifft: Daten auswerten mit Array, Pivot, Matrixformel.... von: ThomasB.
Geschrieben am: 10.07.2008 14:04:06

Hallo liebe Experten,

es ist mal wieder so weit..... Ich stehe irgendwie voll auf dem schlauch....
Folgendes Problem:

Ich habe eine Tabelle mit folgenden Daten:
Spalte A : Das Jahr (z.B. 2007)
Spalte B: Der Monat (z.B. 3)
Spalte C: Der Tag (zb. 18)
Spalte D: Die Stunde (z.B. 16)

Spalte E ist nicht von Bedeutung

Spalte F ist mit Zahlen gefüllt (z.B. 452,00) [Ein Wirkleistungswert....]
Spalte G ist ebenfalls mit Zahlen gefüllt (z.B. 16,00) [Der Blindleitungswert...]

Das danze geht von Zeile 3 bis 65535. Also ne goße Menge Daten!

Auf einem anderen Tabellenblatt möchte ich diese Daten dann nach verschiedenen Vorgaben auswerten.

1) Ich gebe das Jahr vor, und möchte den monatlichen Max Wert für das Jahr aus spalte f aufgelistet haben. Also 12 Werte. Das gleiche mit der Summe. Also den komplettenm Januar zusammengerechnet, den Februar usw....

2) Ich gebe das Jahr und den Monat vor und möchte für den Monat den MAX wert sehen, der zwischen 06Uhr und 21Uhr lag und den Max Wert zwischen 21Uhr und 06Uhr.

Ich habe schon einige Stunden (stimmt tatsächlich) im Archiv gekramt und bin von MAtrixformeln über Pivottabellen zu Arrays gekommen, habe aber irgendwie nicht den richtigen Startschuss gehört :)

Es wäre wirklich sehr nett wenn mir jemand etwas Starthilfe geben könnte.

Vielen Dank schon mal fürs Lesen,

ThomasB.

  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: ThomasB.
Geschrieben am: 10.07.2008 14:11:29

Nachtrag: Eine VBA Lösung wäre mir am liebste. Muss aber nicht zwingend sein ....


Liebe Grüße, Thomas


  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: Chris
Geschrieben am: 10.07.2008 14:36:50

Servus Thomas,

ich geb dir mal ein paar Anregungen:

1. du machst das am besten mit einer UF.

Die Vorgaben finden, das geht wohl am besten mit der Find-Methode:

z.B.:

von oben:

Dim rFinde as Range, rSuche as Range

Set rFinde = Sheets("DeinSheetname").Range("A:A) ' hier Spalte A
Set rSuche = rFinde.Find (what:=Suchstring, LookAt:=xlWhole, LookIn:=xlValues, SearchDirection:= xlNext)
If Not rSuche is nothing Then
lngOben = rSuche.Row ' die Reihe, wo z.B. das erste Jahr anfängt (z.B. 2007)
End if

daselbe in grün für unten:

Set rFinde = Sheets("DeinSheetname").Range("A:A) ' hier Spalte A
Set rSuche = rFinde.Find (what:=Suchstring, LookAt:=xlWhole, LookIn:=xlValues, SearchDirection:= xlPrevious)
If Not rSuche is nothing Then
lngUnten = rSuche.Row ' die Reihe, wo z.B. das erste Jahr anfängt (z.B. 2007)
End if

Jetzt weißt du z.B., wo dein Jahr anfängt und wo es aufhört (z.B.: Anfang Zeile 3 und Ende Zeile 800)

Diese Rückgabewerte kannst du jetzt verwenden, um z.B. den Monat zu finden

hier steht dann für rFinde eben nicht Range("A:A"), sondern Range("B" & lngOben & ":B" & lngUnten), wieder Anfang und Ende suchen, u.s.w. bis du deine Werte hast.

Das Maximum findet man z.B. so:

Max = WorsheetFunction.Max(Range("F" & wasweißich & ":F" & weißichauchnicht))

dasselbe für Min statt .Max eben .Min, u.s.w.

Die Vorgaben kannst du ja z.B. aus einer Combobox auslesen.

Das, was du vorhast ist immenser Programmieraufwand (zumindest zum Schreiben), das macht dir hier keiner. Das musst du schon selbst machen.

Gruß

Chris


  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: David
Geschrieben am: 10.07.2008 15:07:08

hier eine Formellösung:

https://www.herber.de/bbs/user/53722.xls

Gruß

David


  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: ThomasB.
Geschrieben am: 11.07.2008 09:53:49

Vielen Dank für die Mühe !!!

Ich werde das mal in Ruhe testen und melde mich, wenn ich fertig bin, oder weitere Fragen habe :)

Mfg, Thomas


  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: ThomasB.
Geschrieben am: 11.07.2008 10:21:42

Hallo David,

Deine Formellösung funktioniert gut.
Jetzt stellt sich mit nur die Frage, wie Du es gemacht hast, das in den Formel z.B. "Wert" und "Jahr" steht, und nicht F3:F234 und G5 ....

Danke, Thomas


  

Betrifft: AW: Daten auswerten mit Array, Pivot, Matrixformel.... von: ThomasB.
Geschrieben am: 11.07.2008 10:24:17

Ok.....hat sich schon erledigt.....

Erst denken, dann tippen ........
Hatte mich so auf was schweres eingestellt, das mir das offensichtliche entgangen ist....

Vielen Dank :)


 

Beiträge aus den Excel-Beispielen zum Thema "Daten auswerten mit Array, Pivot, Matrixformel...."