Microsoft Excel

Herbers Excel/VBA-Archiv

Wenn Wochentag nicht gleich, dann Datum anpassen

Betrifft: Wenn Wochentag nicht gleich, dann Datum anpassen von: Rob
Geschrieben am: 12.09.2014 15:08:05

Moin zusammen,

ích suche eine Funktion für folgendes Problem und hoffe sehr, dass Ihr mir bitte helfen könnt:

In Spalte A:A stehen Daten (also von "Datum" ;p...);
In Spalte B:B soll mittels einer Funktion geprüft werden, ob
1. der Wochentag der Zelle links ein Dienstag ist und wenn ja, dasselbe Datum in B:B ausweisen und
2. wenn nicht, dann soll er mir das Datum des nächsten Dienstages ausspucken.

Der erste Teil, der in Zelle B1 stehen müsste, ist easy: '=wenn(WOCHENTAG(a1;2);a1;Datum(...)' dann verlässt mich der Einfallsreichtum...

Ich wäre Euch für Eure Hilfe sehr dankbar!

Besten Gruß
Rob

  

Betrifft: kleine Arrayformel von: WF
Geschrieben am: 12.09.2014 15:28:36

Hi,

in B1 folgende Arrayformel:
{=MIN(WENN(WOCHENTAG(A1:A$99;2)=2;A1:A$99))}
runterkopieren

Salut WF


  

Betrifft: aber nur mit Einschränkung ;-) von: Matthias L
Geschrieben am: 12.09.2014 15:55:20

Hallo

 AB
11Mo. 22.09.2014Di. 23.09.2014
12Di. 23.09.2014Di. 23.09.2014
13Mi. 24.09.2014Sa. 00.01.1900
14Do. 25.09.2014Sa. 00.01.1900


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Wenn der Folge-Dienstag in Spalte(A) nicht aufgeführt ist, bringt Spalte(B) ja nicht den nächsten Dienstag.

Mein Versuch:

 AB
1Fr. 12.09.2014Di. 16.09.2014
2Sa. 13.09.2014Di. 16.09.2014
3So. 14.09.2014Di. 16.09.2014
4Mo. 15.09.2014Di. 16.09.2014
5Di. 16.09.2014Di. 16.09.2014
6Mi. 17.09.2014Di. 23.09.2014
7Do. 18.09.2014Di. 23.09.2014
8Fr. 19.09.2014Di. 23.09.2014
9Sa. 20.09.2014Di. 23.09.2014
10So. 21.09.2014Di. 23.09.2014
11Mo. 22.09.2014Di. 23.09.2014
12Di. 23.09.2014Di. 23.09.2014
13Mi. 24.09.2014Di. 30.09.2014
14Do. 25.09.2014Di. 30.09.2014
15Fr. 26.09.2014Di. 30.09.2014
16Sa. 27.09.2014Di. 30.09.2014
17So. 28.09.2014Di. 30.09.2014
18Mo. 29.09.2014Di. 30.09.2014

Formeln der Tabelle
ZelleFormel
B1=WENN(WOCHENTAG(A1;2)=1;A1+1;WENN(WOCHENTAG(A1;2)=2;A1;A1+9-WOCHENTAG(A1;2)))
B2=WENN(WOCHENTAG(A2;2)=1;A2+1;WENN(WOCHENTAG(A2;2)=2;A2;A2+9-WOCHENTAG(A2;2)))
B3=WENN(WOCHENTAG(A3;2)=1;A3+1;WENN(WOCHENTAG(A3;2)=2;A3;A3+9-WOCHENTAG(A3;2)))
B4=WENN(WOCHENTAG(A4;2)=1;A4+1;WENN(WOCHENTAG(A4;2)=2;A4;A4+9-WOCHENTAG(A4;2)))
B5=WENN(WOCHENTAG(A5;2)=1;A5+1;WENN(WOCHENTAG(A5;2)=2;A5;A5+9-WOCHENTAG(A5;2)))
B6=WENN(WOCHENTAG(A6;2)=1;A6+1;WENN(WOCHENTAG(A6;2)=2;A6;A6+9-WOCHENTAG(A6;2)))
B7=WENN(WOCHENTAG(A7;2)=1;A7+1;WENN(WOCHENTAG(A7;2)=2;A7;A7+9-WOCHENTAG(A7;2)))
B8=WENN(WOCHENTAG(A8;2)=1;A8+1;WENN(WOCHENTAG(A8;2)=2;A8;A8+9-WOCHENTAG(A8;2)))
B9=WENN(WOCHENTAG(A9;2)=1;A9+1;WENN(WOCHENTAG(A9;2)=2;A9;A9+9-WOCHENTAG(A9;2)))
B10=WENN(WOCHENTAG(A10;2)=1;A10+1;WENN(WOCHENTAG(A10;2)=2;A10;A10+9-WOCHENTAG(A10;2)))
B11=WENN(WOCHENTAG(A11;2)=1;A11+1;WENN(WOCHENTAG(A11;2)=2;A11;A11+9-WOCHENTAG(A11;2)))
B12=WENN(WOCHENTAG(A12;2)=1;A12+1;WENN(WOCHENTAG(A12;2)=2;A12;A12+9-WOCHENTAG(A12;2)))
B13=WENN(WOCHENTAG(A13;2)=1;A13+1;WENN(WOCHENTAG(A13;2)=2;A13;A13+9-WOCHENTAG(A13;2)))
B14=WENN(WOCHENTAG(A14;2)=1;A14+1;WENN(WOCHENTAG(A14;2)=2;A14;A14+9-WOCHENTAG(A14;2)))
B15=WENN(WOCHENTAG(A15;2)=1;A15+1;WENN(WOCHENTAG(A15;2)=2;A15;A15+9-WOCHENTAG(A15;2)))
B16=WENN(WOCHENTAG(A16;2)=1;A16+1;WENN(WOCHENTAG(A16;2)=2;A16;A16+9-WOCHENTAG(A16;2)))
B17=WENN(WOCHENTAG(A17;2)=1;A17+1;WENN(WOCHENTAG(A17;2)=2;A17;A17+9-WOCHENTAG(A17;2)))
B18=WENN(WOCHENTAG(A18;2)=1;A18+1;WENN(WOCHENTAG(A18;2)=2;A18;A18+9-WOCHENTAG(A18;2)))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Gruß Matthias


  

Betrifft: AW: @Matthias und kuerzer ;-) von: hary
Geschrieben am: 12.09.2014 16:05:20

Moin Matthias



Tabelle1

 ABC
112.09.201416.09.201416.09.2014
213.09.201416.09.201416.09.2014
314.09.201416.09.201416.09.2014
415.09.201416.09.201416.09.2014
516.09.201416.09.201416.09.2014
617.09.201423.09.201423.09.2014
718.09.201423.09.201423.09.2014
819.09.201423.09.201423.09.2014
920.09.201423.09.201423.09.2014
1021.09.201423.09.201423.09.2014
1122.09.201423.09.201423.09.2014
1223.09.201423.09.201423.09.2014
1324.09.201430.09.201430.09.2014
1425.09.201430.09.201430.09.2014
1526.09.201430.09.201430.09.2014
1627.09.201430.09.201430.09.2014
1728.09.201430.09.201430.09.2014
1829.09.201430.09.201430.09.2014

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B1:B18=WENN(WOCHENTAG(A1;2)=1;A1+1;WENN(WOCHENTAG(A1;2)=2;A1;A1+9-WOCHENTAG(A1;2)))  =IF(WEEKDAY(RC[-1],2)=1,RC[-1]+1,IF(WEEKDAY(RC[-1],2)=2,RC[-1],RC[-1]+9-WEEKDAY(RC[-1],2)))
C1:C18=WENN(WOCHENTAG(A1;2)=2;A1;A1+7-REST(A1-3;7))  =IF(WEEKDAY(RC[-2],2)=2,RC[-2],RC[-2]+7-MOD(RC[-2]-3,7))

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary


  

Betrifft: Spielverderber ;-) von: Matthias L
Geschrieben am: 12.09.2014 16:11:43

owT :-)


  

Betrifft: =A1+6-REST(A1-4;7) owT von: Matthias L
Geschrieben am: 12.09.2014 16:21:49




  

Betrifft: *heul* ;-) gruss owT von: hary
Geschrieben am: 12.09.2014 16:32:45

.


  

Betrifft: Das ist doch Quatsch von: WF
Geschrieben am: 12.09.2014 16:33:45

Hi,

er will den nächsten Dienstag aus seiner Liste haben. Ihr führt dann einen auf, der darin nicht vorkommt.
Die Zellen müssen leer sein
formatiert die Formel von mir benutzerdefiniert mit TT.MM.JJJJ;;

WF


  

Betrifft: wieso Quatsch ... von: Matthias L
Geschrieben am: 12.09.2014 16:58:51

Hallo

Dann haben wir es eben beide unterschiedlich aufgefasst.

Du schreibst:
er will den nächsten Dienstag aus seiner Liste haben.

Ich habe es so gelesen:
1. der Wochentag der Zelle links ein Dienstag ist und wenn ja, dasselbe Datum in B:B ausweisen und
2. wenn nicht, dann soll er mir das Datum des nächsten Dienstages ausspucken.

Als Datum des nächsten Dienstages interpretiere ich den nächstfolgenden Dienstag
unabhängig der Datenliste in Spalt(A).
Musst also nicht gleich wieder alles als Quatsch bezeichnen ;-)

Gruß Matthias


  

Betrifft: AW: Wenn Wochentag nicht gleich, dann Datum anpassen von: Rolf
Geschrieben am: 12.09.2014 17:32:23

Hallo Rob,

mein Vorschlag:
=A1+7-WOCHENTAG(A1;13)

Gruß Rolf


  

Betrifft: den Typ 13 als Rückgabewert, gibts den ? von: Matthias L
Geschrieben am: 12.09.2014 18:06:15

Hallo Rolf

Dein Vorschlag in Spalte(B) ergibt bei mir #ZAHL!
Mein Vorschlag in Spalte(C)

Den Rückgabewert-Typ:13 bei Wochentag, gibts den wirklich in XL2010 ?

 ABC
1Fr. 12.09.2014#ZAHL!Di. 16.09.2014
2Sa. 13.09.2014#ZAHL!Di. 16.09.2014
3So. 14.09.2014#ZAHL!Di. 16.09.2014
4Mo. 15.09.2014#ZAHL!Di. 16.09.2014
5Di. 16.09.2014#ZAHL!Di. 16.09.2014
6Mi. 17.09.2014#ZAHL!Di. 23.09.2014
7Do. 18.09.2014#ZAHL!Di. 23.09.2014

Formeln der Tabelle
ZelleFormel
B1=A1+7-WOCHENTAG(A1;13)
C1=A1+6-REST(A1-4;7)
A2=A1+1
B2=A2+7-WOCHENTAG(A2;13)
C2=A2+6-REST(A2-4;7)
A3=A2+1
B3=A3+7-WOCHENTAG(A3;13)
C3=A3+6-REST(A3-4;7)
A4=A3+1
B4=A4+7-WOCHENTAG(A4;13)
C4=A4+6-REST(A4-4;7)
A5=A4+1
B5=A5+7-WOCHENTAG(A5;13)
C5=A5+6-REST(A5-4;7)
A6=A5+1
B6=A6+7-WOCHENTAG(A6;13)
C6=A6+6-REST(A6-4;7)
A7=A6+1
B7=A7+7-WOCHENTAG(A7;13)
C7=A7+6-REST(A7-4;7)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

Ich konnte aber nur bis 2007 testen.

Gruß Matthias


  

Betrifft: AW: yo, 13 gibts. von: Daniel
Geschrieben am: 12.09.2014 18:13:07

die alten Typen waren 1-3 (Sonntag oder Montag als Wochenanfang, bei 3 mit 0 als ersten Wert)
die neuen Typen sind dann 11-17 um alle Tage als Wochenanfang verwenden zu können.

wobei, wer was auf sich hält, verzichtet auf solche Komfortfunktionen und arbeitet mit REST

Gruß Daniel


  

Betrifft: Danke für die Info, Daniel ... von: Matthias L
Geschrieben am: 12.09.2014 18:17:53

Hallo

Habs ja auch mit REST realisiert, ist außerdem auch kürzer.

Danke & Gruß
Matthias


 

Beiträge aus den Excel-Beispielen zum Thema "Wenn Wochentag nicht gleich, dann Datum anpassen"