Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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

Formellösung für Zeitraum-Auswertung

Formellösung für Zeitraum-Auswertung
31.03.2016 09:14:01
WalterK
Hallo,
ich suche eine Formellösung für eine Auflistung. Habe im Moment selbst keine Idee, wie ich das Problem angehen könnte.
Die Beschreibung musste ich in die angehängte Tabelle schreiben, weil ich es ohne Tabellendarstellung überhaupt nicht erklären könnte.
Besten Dank für die Hilfe,
Servus Walter
https://www.herber.de/bbs/user/104674.xlsx

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: noch nicht eindeutig ...
31.03.2016 09:46:14
...
Hallo Walter,
... z.B. welche Nummer erhält Cäsar für seinen zweiten Raumraum, wenn Berta nur zwei Zeiträume hätte? Und welche Nummern würden vergeben werden müssen, wenn die Zeiträume von Anton und Cäsar vertauscht wären?
Gruß Werner
.. , - ...

AW: eben Deine Aufgabenstell. noch mal gelesen ...
31.03.2016 11:31:06
...
Hallo Walter,
... und festgestellt, dass ich Deine Aufgabenstellung falsch verstanden hatte. Ich dachte Du wolltest die Werte in T3:AJ## aus AL3:AN### ermitteln.
Es ist ja genau anders herum. Wer lesen kann ...
Nun ich schau dann noch einmal, ob ich Deine gewünschten Formellösung basteln kann.
Gruß Werner
.. , - ...

Anzeige
AW: noch nicht eindeutig ...
31.03.2016 11:35:42
WalterK
Hallo Werner,
aufgrund Deiner Rückmeldung habe ich gemerkt, dass ich in der Formel ein Dollarzeichen zuviel hatte.
Bei Cäsar muss daher anstatt 4 x die 2 richtigerweise 4 x die 1 stehen und anstatt 3 x die 5 richtigerweise 3 x die 2. In der neuen Tabelle habe ich das berichtigt.
Alle Zeiträume werden pro Person ermittelt, es gibt keinen Zusammenhang zwischen den Zeiträumen der verschiedenen Personen.
Bei den einzelnen Personen beginnt die Zählung der Zeiträume immer mit 1.
Danke und Servus, Walter
https://www.herber.de/bbs/user/104678.xlsx

Anzeige
AW: mit drei Matrixfunktion(alität)sformeln ...
31.03.2016 12:00:36
...
Hallo Walter,
... Deine vorgenommene Korrektur der Datenwerte in T3:AJ### hat die Formelauswertung vereinfacht, weil nun immer nur die Anzahl der jeweiligen Bereiche auszuwerten ist.
Nachfolgende AGGREGAT()-Formeln AL4 und AM3:AN3 einfach nach unten ziehend kopieren.
 ASTUVWXYZAAABACADAEAFAGAHAIAJAKALAMAN
15 20152015201520152015201520152015201520152015201520162016201620162016 Alle TrefferImmer ganze Monate
2Mitglied 12345678910111212345 MitgliedVonBis
3Anton    111 2 3        Anton01.04.201530.06.2015
4Berta   11 2 3 4        Anton01.08.201531.08.2015
5Cäsar     1111   222    Anton01.10.201531.10.2015
6                    Berta01.03.201530.04.2015
7                    Berta01.06.201530.06.2015
8                    Berta01.08.201531.08.2015
9                    Berta01.10.201531.10.2015
10                    Cäsar01.05.201531.08.2015
11                    Cäsar01.12.201529.02.2016
12                       

Formeln der Tabelle
ZelleFormel
AL3=A3
AM3=WENN(AL3="";"";AGGREGAT(15;6;(1&"."&T$2:AJ$2&"."&T$1:AJ$1)/(A$3:A$99=AL3)/(T$3:AJ$99=ZÄHLENWENN(AL$3:AL3;AL3)); 1))
AN3=WENN(AL3="";"";MONATSENDE(AGGREGAT(14;6;(1&"."&T$2:AJ$2&"."&T$1:AJ$1)/(A$3:A$99=AL3)/(T$3:AJ$99=ZÄHLENWENN(AL$3:AL3;AL3)); 1); 0))
AL4=WENN(ZÄHLENWENN(AL$3:AL3;AL3)=AGGREGAT(14;6;T$3:AJ$99/(A$3:A$99=AL3); 1); INDEX(A:A;VERGLEICH(AL3;A:A;)+1)&"";AL3)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Anzeige
AW: mit drei Matrixfunktion(alität)sformeln ...
31.03.2016 12:22:09
WalterK
Hallo Werner,
besten Dank, genauso wollte ich es haben.
Servus, Walter

Formellösung
31.03.2016 12:04:51
WF
Hi,
in AL3 steht:
=A3
in AL4 steht die Arrayformel:
{=WENN(MAX(INDEX(T:T;VERGLEICH(AL3;A:A;0)):INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0)))=ZÄHLENWENN(AL$3:AL3; AL3);A4;AL3) }
runterkopieren
in AM3 steht die Arrayformel:
{=DATUM(INDEX($1:$1;MIN(WENN(INDEX(T:T;VERGLEICH(AL3;A:A;0)):INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0)) =ZÄHLENWENN(AL$3:AL3;AL3);SPALTE(T:AJ))));INDEX($2:$2;MIN(WENN(INDEX(T:T;VERGLEICH(AL3;A:A;0)) :INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0))=ZÄHLENWENN(AL$3:AL3;AL3);SPALTE(T:AJ))));1) }
in AN3 die Arrayformel:
{=DATUM(INDEX($1:$1;MAX(WENN(INDEX(T:T;VERGLEICH(AL3;A:A;0)):INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0)) =ZÄHLENWENN(AL$3:AL3;AL3);SPALTE(T:AJ))));INDEX($2:$2;MAX(WENN(INDEX(T:T;VERGLEICH(AL3;A:A;0)) :INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0))=ZÄHLENWENN(AL$3:AL3;AL3);SPALTE(T:AJ))))+1;0) }
beide runterkopieren
Salut WF

Anzeige
Besten Dank WF, muss ich noch ausprobieren. Servus
31.03.2016 12:27:22
WalterK

AL4 musst Du noch korrigieren auf:
31.03.2016 12:30:27
WF
{=WENN(MAX(INDEX(T:T;VERGLEICH(AL3;A:A;0)):INDEX(AJ:AJ;VERGLEICH(AL3;A:A;0)))=ZÄHLENWENN(AL$3:AL3; AL3);INDEX(A:A;VERGLEICH(AL3;A:A;0)+1);AL3) }
hatte ich falsch kopiert
WF

AW: sieh mal ...
31.03.2016 12:27:57
...
Hallo WF,
... Deine Formel in AL4 "kapituliert" vor der Berta ;-) Deine beiden anderen Formeln hätten noch mE viel Optimierungspotential.
Gruß Werner
.. , - ...

stimmt
31.03.2016 20:51:02
WF
Hi,
statt mit der Funktion DATUM das Datum mit mehreren & zu konstruieren, halbiert die Formellänge.
WF

mit VBA
31.03.2016 09:49:30
ChrisL
Hi Walter
Vielleicht zaubert dir noch jemand eine Formellösung, aber hier schon einmal ein Makro
Sub Mach() Dim WS1 As Worksheet, WS2 As Worksheet Dim iZeile As Long, iSpalte As Long, tempZeile As Long Set WS1 = Worksheets("Tabelle1") Set WS2 = Worksheets("Tabelle2") For iZeile = 3 To WS1.Cells(WS1.Rows.Count, 1).End(xlUp).Row For iSpalte = 20 To 36 If WS1.Cells(iZeile, iSpalte - 1) = "" And WS1.Cells(iZeile, iSpalte) "" Then tempZeile = WS2.Cells(WS2.Rows.Count, 1).End(xlUp).Row + 1 WS2.Cells(tempZeile, 1) = WS1.Cells(iZeile, 1) WS2.Cells(tempZeile, 2) = _ DateSerial(WS1.Cells(1, iSpalte), WS1.Cells(2, iSpalte), 1) End If If WS1.Cells(iZeile, iSpalte + 1) = "" And WS1.Cells(iZeile, iSpalte) "" Then tempZeile = WS2.Cells(WS2.Rows.Count, 1).End(xlUp).Row WS2.Cells(tempZeile, 3) = _ DateSerial(WS1.Cells(1, iSpalte), WS1.Cells(2, iSpalte) + 1, 1) - 1 End If Next iSpalte Next iZeile End Sub
cu
Chris

Anzeige
AW: mit VBA
31.03.2016 11:37:37
WalterK
Hallo Chris,
deine VBA-Lösung ist genau richtig.
Leider dürfen wir keine Makros verwenden.
Trotzdem besten Dank,
Servus Walter

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige