Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

piny
Lv 7
piny 發問時間: 電腦與網際網路軟體 · 8 年前

Excel公式:返回下一個指定日期(不含當日)

2007/7/142007/7/252010/10/42010/10/102005/5/122005/5/252001/7/142001/7/252006/6/202006/6/252008/5/102008/5/252008/9/302008/10/102003/10/242003/10/252000/3/222000/3/252003/6/92003/6/102003/3/152003/3/252008/12/102008/12/252008/1/222008/1/252004/11/272004/12/102005/8/52005/8/102008/4/112008/4/252000/5/242000/5/252002/2/222002/2/252005/3/292005/4/102008/6/222008/6/252006/10/102006/10/252008/9/212008/9/252000/3/252000/4/102001/1/302001/2/102000/3/182000/3/252010/7/182010/7/252005/2/172005/2/252004/4/72004/4/102005/9/92005/9/10

題目

A欄為日期格式(2000/1/1至2010/12/31)

請於C2填寫公式,求出A2之下一個指定日10號或25號(不含當日)

公式可下拉完成B欄為模擬解,全對則C32為True無輔助列、定義名稱、VBA

字數(含等號)限199字,字數最短者且正確給予最佳解答

限2003版本舉例

A2為2007/7/14,下一個10號或25號(不含當日)即2007/7/25

A7為2008/5/10,下一個10號或25號(不含當日)即2008/5/25http://www.funp.net/857635

請看情況二活頁

已更新項目:

C欄已為時間格式,不必用TEXT去調成與A欄目視一致

2 個已更新項目:

呼!小弟改變主意了,煩請樂於參與Excel學習的朋友們,有答案請直接公佈,讓大家檢視您的公式(或再予以精進優化),若有提出與小弟預設解在10字差異,小弟則會予以公佈敝解字數,並於結題前公佈敝解。

結題前若未有人達到小弟預設短解,則依字數長短依先提出者為最佳解答,小弟並同步公佈敝解。

謝謝!

3 個解答

評分
  • 8 年前
    最佳解答

    再一練習式:

    =TEXT(A2+(DAY(A2)>24)*29,"y/m/!1")+(ABS(17-DAY(A2))<8)*15+9

    2012-12-25 10:19:08 補充:

    應該是下式:

    =TEXT(A25+(DAY(A25)>24)*7,"y/m/!1")+(ABS(17-DAY(A25))<8)*15+9

    昨天又無故被扣點,就不想再亂貼!

    2012-12-26 09:56:08 補充:

    陣列:44字

    =A2+MIN(MATCH({10,25},DAY(A2+ROW($1:$31)),))

    2012-12-30 17:11:55 補充:

    41字:

    =A2+MATCH(10,MOD(DAY(A2+ROW($1:31)),15),)

    2012-12-31 13:45:57 補充:

    EXCEL.每月10、25日為付款日,列出下一個日期(不含當日)

                            <.准提部林.>

    --------------------------------

    ■PINY大師預設解:

     陣列輸入.41字:

     =A2+MATCH(10,MOD(DAY(A2+ROW($1:17)),15),)

     

    ■敝解:

     1.陣列輸入.43字:

     =A2+MIN(MATCH({10,25},DAY(A2+ROW($1:31)),))

     

     2.陣列輸入.41字:

     =A2+MATCH(10,MOD(DAY(A2+ROW($1:31)),15),)

    --------------------------------

    2012-12-31 13:46:29 補充:

    不敢等〔恭請〕兩字才貼答,自動報到,

    若有它解再說!

  • Daniel
    Lv 7
    8 年前

    先試水溫:

    =DATE(YEAR(A2),MONTH(A2)+(DAY(A2)>=25),SUM((DAY(A2-9)>{0,15})*{1,-1})*15+10)

    2012-12-24 15:30:52 補充:

    002略簡:

    =DATE(YEAR(A2),MONTH(A2)+(DAY(A2)>=25),SUM((DAY(A2-9)>{0,15})*{15,-15})+10)

    75字

    2012-12-24 15:38:44 補充:

    =DATE(YEAR(A2),MONTH(A2)+(DAY(A2)>=25),SUM((DAY(A2)>{9,24})*{15,-15})+10)

    73字

    2012-12-24 16:15:05 補充:

    =DATE(YEAR(A2),MONTH(A2)+(DAY(A2)>=25),SUM((DAY(A2)>{9,24})*{15,-15}+5))

    72字

  • piny
    Lv 7
    8 年前

    C欄已為時間格式,不必用TEXT去調成與A欄目視一致

    2012-12-24 15:00:18 補充:

    002公式正確,76字

    2012-12-24 15:00:42 補充:

    002公式正確,76字

    2012-12-24 15:21:54 補充:

    Daniel大公式尚可略簡!

    2012-12-24 15:36:08 補充:

    006公式正確,尚可略簡!

    2012-12-24 15:50:08 補充:

    008公式正確,尚可略簡!

    2012-12-24 16:16:59 補充:

    010公式正確,尚可略簡!

    2012-12-25 09:45:54 補充:

    012不OK,請測試2001/1/31

    2012-12-25 10:24:06 補充:

    015公式正確,尚可略簡!

    2012-12-26 10:25:33 補充:

    017 OK

    此式可再簡一字,可再略簡

    =A2+MIN(MATCH({10,25},DAY(A2+ROW($1:31)),))

    2012-12-26 10:28:09 補充:

    小弟預設解41,准大快接近了!

    2012-12-26 12:57:30 補充:

    呼!小弟改變主意了,煩請樂於參與Excel學習的朋友們,有答案請直接公佈,讓大家檢視您的公式(或再予以精進優化),若有提出與小弟預設解在10字差異,小弟則會予以公佈敝解字數,並於結題前公佈敝解。

    結題前若未有人達到小弟預設短解,則依字數長短依先提出者為最佳解答,小弟並同步公佈敝解。

    謝謝!

    2012-12-30 17:55:25 補充:

    021 OK 31改17��是預設解了

    二天後再恭請作答! ^^

還有問題?馬上發問,尋求解答。