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

Auflistung Einzeltage von Beginn bis Ende

Auflistung Einzeltage von Beginn bis Ende
25.06.2015 14:23:48
Beginn
Hallo,
habe immer das Start- und Endedatum von Zeiträumen.
Ist es möglich per Formel oder VBA eine Auflistung
der Einzeltage hintereinander fortführend zu Erstellen.
Danke für Tipps
anbei die Beispieldatei
https://www.herber.de/bbs/user/98474.xlsx

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
z.B. mit INDEX() und AGGREGAT() ...
25.06.2015 14:33:01
der
Hallo And,
... in G3: =WENNFEHLER(AGGREGAT(15;6;ZEILE(INDEX(A:A;$B3):INDEX(A:A;$E3))/((ZEILE(INDEX(A:A;$B3):INDEX(A:A; _ $E3))=$D3));SPALTE(A1));"")
und Formel nach unten und rechts ziehend kopieren.
Gruß Werner
.. , - ...

AW: z.B. mit INDEX() und AGGREGAT() ...
26.06.2015 08:23:17
And
Hallo,
das ist ja Spitze.
Muss jetzt noch einige Spalten anpassen.
Sollte ich das nicht hinbekommen, würde ich
nächste Woche nochmal um Hilfe bitten.
Danke Werner
Gruß Andreas

Nochmal Hilfe benötigt
26.06.2015 19:25:28
And
Hallo,
sorry, jetzt bin ich auch reingefallen und habe die erste Datei
nur in vereinfachter Form eingestellt und dachte dass ich die Lösung
dann schon anpassen kann. Weit gefehlt, das ist für mich dann doch
paar Nummern zu groß.
Deshalb bitte ich nochmal um Hilfe.
Hier die Datei, mit den relevanten Feldern in den richtigen
Spalten und Zeilen.
Vielen Dank nochmals.
https://www.herber.de/bbs/user/98512.xlsx

Anzeige
das Prinzip bleibt gleich ...Morgen mehr dazu ...
26.06.2015 20:56:04
der
Hallo Arnd,
... doch bei bis zu 8 Zeitblöcken könnte die Formel natürlich eine "Monster-" werden. Ich schau es mir Morgen noch einmal an, ob ich dafür vielleicht noch eine Abkürzung finde. Damit ich es selbst nicht übersehe, stelle ich den thread vorübergehend auf offen.
Gruß Werner
.. , - ...

AW: das Prinzip bleibt gleich ...Morgen mehr dazu ...
27.06.2015 09:31:39
And
Hallo,
ja das funktioniert auch so wie gewollt.
Ist schon im Privatarchiv.
Vielen Dank für die Hilfe.
Formel wäre "mir" günstiger, da einige unserer Bürodamen+Herren
ständig "vergessen" beim Dateistart die INHALTE und BEARBEITUNG zu aktivieren.
Ein als Vertrauenswürdig setzen verbietet sich wegen Firmennetzwerk.
Gruß Andreas

Anzeige
Morgen, Morgen nur nicht Heute ;-) ...
27.06.2015 13:41:08
der
Hallo Andreas,
... aber bei mir ist Heute wirklich etwas dazwischengekommen, ich muss jetzt auch gleich wieder weg.
Ich schau dann (hoffentlich) Morgen noch einmal.
Gruß Werner
.. , - ...

wie vermutet, eine Monsterformel ...
28.06.2015 18:59:48
der
Hallo And,
... jedenfalls dann, wenn man ohne Netz (Bereichsnamen) und doppelten Boden (Hilfszellen) arbeiten will. Ich hab das getan um zu testen, was derartig mit den zig geschachtelten AGGREGAT()-Formelteilen möglich ist.
Ich hab dazu vorhin mal für 4 Zeiträume eine Formel zusammen gestrickt. Bereits diese ist eine Monsterformel. Allerdings hab ich indirekt durch die Formel aufgezeigt, wie sie auch für 8 Zeiträume erweitert werden kann. Das solltest Du jetzt auf Basis meiner Formel bei Deinen angegebenen Excellevel "gut" sicherlich entsprechend auch allein erweitern können.
Du hast jetzt auch die Möglichkeit durch die Definition von Formelteilen zu Bereichsnamen, die Auswertung etwas strukturierter und übersichtlicher zu gestalten. Ich hatte dazu momentan keine Zeit u mehr.
Ich hab in den Anfangsteil der Formel auch ein paar Plausibilitätsprüfungen für die Dateneingaben eingebaut, bevor die Formel überhaupt ihre Arbeit antritt. Aus der möglichen Fehlermeldung "falsche Angaben" ist natürlich nicht ersichtlich, was genau falsch vorliegt. Aber den entsprechenden Formelteil solltest Du sicherlich entsprechend interpretieren können.
Als unakzeptabel habe ich u.a. a ausgeschlossen, dass die Datumswerte nicht von links nach rechts aufsteigend größer sind; Leerzellen zwischen den Daten vorhanden sind, Textwerte sich eingeschlichen haben und keine gerade Anzahl von Datumswerten vorliegt sowie mehr als 365 Tage zwischen der ersten und letzten Datumsangabe liegen.
Anstelle der momentanen Formel-Ausgabe: "Q bis X" musst Du, wie schon oben geschrieben, den vorderen Formelteil für I:P entsprechend analog angepasst für Q:X in der Formel ergänzt ersetzen.
Die Formel AE6 ist nach unten und entsprechend weit nach rechts zu kopieren:
 IJKLMNOPQRSTUVWXYADAEAFAGAHAIAJAKALAMANAOAPAQAR
5von bisvon bisvon bisvon bisvon bisvon bisvon bisvon bis                
617.02.1518.02.1526.02.1501.03.1515.04.1518.04.1520.05.1522.05.15          17.02.1518.02.1526.02.1527.02.1528.02.1501.03.1515.04.1516.04.1517.04.1518.04.1520.05.1521.05.1522.05.15 
703.01.1504.01.1522.01.1524.01.1512.02.1513.02.1501.03.1502.03.1515.03.1516.03.1504.04.1505.04.1520.04.1522.04.1510.05.1514.05.15  03.01.1504.01.1522.01.1523.01.1524.01.1512.02.1513.02.1501.03.1502.03.15Q bis XQ bis XQ bis XQ bis XQ bis X
830.12.1402.01.1526.02.1527.02.1515.05.1518.05.15            02.07.5730.12.1431.12.1401.01.1526.02.1527.02.1515.05.1516.05.1517.05.1518.05.15    

Formeln der Tabelle
ZelleFormel
AE6=WENN($I6<"1.1.14"*1;"";WENN((VERWEIS(9^9;$I6:$P6;SPALTE($I1:$P1))-SPALTE($H1)=ANZAHL($I6:$P6))*(SUMME(INDEX(--(($I6:$P6-$H6:$O6)>0); ))=ANZAHL($I6:$P6))*(MAX($I6:$P6)-$I6<366); WENNFEHLER(AGGREGAT(15;6;AGGREGAT(15;6;AGGREGAT(15;6;ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))/((ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))<=AGGREGAT(14;6;$I6:$P6;MIN(3;ANZAHL($I6:$P6)-1)))+(ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))>=AGGREGAT(14;6;$I6:$P6;2))); ZEILE(A$1:A$99))/((ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))<=AGGREGAT(14;6;$I6:$P6;MIN(5;ANZAHL($I6:$P6)-1)))+(ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))>=AGGREGAT(14;6;$I6:$P6;MIN(4;ANZAHL($I6:$P6))))); ZEILE(A$1:A$99))/((ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))<=AGGREGAT(14;6;$I6:$P6;MIN(7;ANZAHL($I6:$P6)-1)))+(ZEILE(INDEX(A:A;$I6):INDEX(A:A;MAX($I6:$P6)))>=AGGREGAT(14;6;$I6:$P6;MIN(6;ANZAHL($I6:$P6)-1)))); SPALTE(A1)); WENN(ANZAHL($I6:$X6)>8;"Q bis X";"")); "falsche Angaben"))


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

Anzeige
AW: wie vermutet, eine Monsterformel ...
29.06.2015 06:35:35
And
Hallo Werner,
vielen Dank für Deine Sonntagsarbeit.
Dann werde ich mal versuchen dieses "Monster" auf den
gesamten Bereich zu erweitern.
Danke nochmals für Deine große Mühe.
Gruß Andreas

ergänzender Hinweis ...
29.06.2015 07:57:19
der
Hallo And,
... wie ich gerade sehe, habe ich in der Formel noch überall ZEILE(A$1:A$99) zu stehen. Gemäß meiner Angaben wollte ich dies in ZEILE(A$1:A$366) andern, damit wirklich die von mir angegebene Grenzwert auch eingehalten werden kann.
Gruß Werner
.. , - ...

AW: wie vermutet, eine Monsterformel
29.06.2015 18:01:55
Josef
Hallo Werner
Bist du sicher, dass man diese Aufgabe nicht auch ohne Monsterformel lösen kann.
Ich denke, mit einer anderen Vorgehensweise, kann man diese Auflistung sicher vereinfachen.
Ich werde mir heute Abend in dieser Angelegenheit etwas ausdenken.
Gruss Sepp

Anzeige
Auflistung ohne Monsterformel
29.06.2015 20:56:30
Josef
Hallo
Hier nun mein Vorschlag, zum besseren Verständnis ohne Plausibilitätsprüfungen für die Dateneingaben.
Bei Bedarf kann es durchaus Sinn machen, meine Lösung in eine Wenn-Formel für die Überprüfung der Eingaben zu integrieren. Werner hat ja schon eine mögliche Variante aufgezeigt.
Tabelle1

 IJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAI
5von bisvon bisvon bisvon bisvon bisvon bisvon bisvon bis           
617.02.1518.02.1526.02.1501.03.1515.04.1518.04.1520.05.1522.05.15              17.02.1518.02.1526.02.1527.02.1528.02.15
703.01.1504.01.1522.01.1524.01.1512.02.1513.02.1501.03.1502.03.1515.03.1516.03.1504.04.1505.04.1520.04.1522.04.1510.05.1514.05.15      03.01.1504.01.1522.01.1523.01.1524.01.15
830.12.1402.01.1526.02.1527.02.1515.05.1518.05.15                30.12.1431.12.1401.01.1502.01.1526.02.15

Formeln der Tabelle
ZelleFormel
AE6=WENN(I6="";"";I6)
AF6=WENNFEHLER(MAX(ANZAHL(1/REST(VERGLEICH(AE6;$J6:$X6;0); 2))*KGRÖSSTE($I6:$X6;ZÄHLENWENN($I6:$X6;">"&AE6)); AE6+1); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruss Sepp

Anzeige
und noch mit AGGREGAT
29.06.2015 22:18:23
Josef
Hallo
Alternativ in AF6
=WENNFEHLER(MAX(ANZAHL(1/REST(VERGLEICH(AE6;$J6:$X6;0);2))*AGGREGAT(15;6;$I6:$X6/($I6:$X6>AE6);1); AE6+1);"")
und nach rechts und unten kopieren.
Gruss Sepp

Deine Idee hier ist einfach genial ...
30.06.2015 08:17:51
der
Guten Morgen Sepp,
... die Lösung ist wirklich einfach genial und das auch im doppelten Wortsinn! Und sie ist natürlich auch hervorragend realisiert.
Zu dieser Lösung warst und bist wohl zur Zeit nur Du fähig, also zumindest nach meinen bisherigen, wenn auch nicht umfassenden, Kenntnissen der Leistungen deutschsprachigen Excelformelfreaks.
Ich war zwar überzeugt, dass es eine andere Lösung geben muss, als meine Monsterformel aber hatte am Sonntag vergeblich versucht, eine anderen Lösung zu suchen. Sicherlich war ich da auch zu sehr "justiert" auf meinen ursprünglichen Lösungsansatz, doch auch ohne dies wäre ich nicht auf eine nur ansatzweise ähnlich gute Lösung wie Deine gekommen.
Ich freue mich sehr, dieses erneute Highlight Deiner Excel-Formelkunst als erster würdigen zu dürfen.
Gruß Werner
.. , - ...

Anzeige
AW: Deine Idee hier ist einfach genial ...
30.06.2015 18:17:10
Josef
Hallo Werner
Deine lobenden Worte machen mich schon etwas verlegen.
Mir fällt jetzt leider gar nicht ein, was ich dir dazu erwidern soll.
Du bist jedenfalls mit deinen vielen nützlichen Beiträgen in diesem Forum absolute Spitzenklasse.
Einen schönen Abend wünscht dir
Sepp

145 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige