Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。

?
Lv 7
? 發問於 電腦與網際網路軟體 · 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/102008/9/302008/10/102003/10/242003/10/252000/3/222000/3/252003/6/92003/6/102003/3/152003/3/252008/12/102008/12/102008/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/102008/9/212008/9/252000/3/252000/3/252001/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/10http://www.funp.net/857635

請看情況一活頁

更新:

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

更新 2:

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

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

謝謝!

4 個解答

評分
  • 8 年前
    最愛解答

    也是練習式:

    =TEXT(A2+6,"y/m/!1")+(ABS(18-DAY(A2))<8)*15+9

    2012-12-24 20:50:33 補充:

    009遇二月份過不了關,修一下加長些:

    =TEXT(A2+(DAY(A2)>25)*6,"y/m/!1")+(ABS(18-DAY(A2))<8)*15+9

    2012-12-24 21:44:49 補充:

    最後第三筆,改為:

    2005/2/23

    2005/2/24

    2005/2/25

    加6都已跨月!

    2012-12-26 09:55:03 補充:

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

    陣列

    2012-12-27 16:29:39 補充:

    這兩題我磚都丟出來了,卻不見有人來敲磚???

    本是純湊熱鬧及人場,並沒想到要輪到我上場作答!^ ^

    (短字元比賽,非我所長也)

    我的公式邏輯很簡單:

    一為排錯.二為效能.三則簡單易懂,

    字元數則能修則修,再精簡就要想破頭,乾脆用VBA。

    屢見板友處理大資料卻使用耗費效能陣列公式,

    將時間花在PC計算時間上,實為其倍感辛勞:

    http://tw.knowledge.yahoo.com/question/question?qi...

    或許以後也可將〔效能〕加入規則,在實務使用上應可嘉惠更多人!

    PINY大,我只負責丟磚,玉出何人,吾亦引盼之!

    2012-12-30 13:57:53 補充:

    45字:

    =A2+MIN(MATCH({11,26},DAY(A2+ROW($1:31)),))-1

    2012-12-30 17:15:02 補充:

    43字:

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

    2012-12-31 13:40:26 補充:

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

                            <.准提部林.>

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

    ■PINY大師預設解:

     陣列輸入.45字:

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

     

    ■敝解:

     1.陣列輸入.45字:

     =A2+MIN(MATCH({11,26},DAY(A2+ROW($1:31)),))-1

     

     2.陣列輸入.43字:

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

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

    2012-12-31 13:42:07 補充:

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

    若有它解再說!

  • ?
    Lv 7
    8 年前

    44字

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

    或43字

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

    2012-12-30 13:51:33 補充:

    此類型好像前面已經答,20式作廢

  • Daniel
    Lv 7
    8 年前

    C2:

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

    2012-12-24 15:32:39 補充:

    002略簡:

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

    73字

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

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

    72字

  • ?
    Lv 7
    8 年前

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

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

    002公式正確,74字

    2012-12-24 15:22:13 補充:

    Daniel大公式尚可略簡!

    2012-12-24 15:37:34 補充:

    005正確,尚可略簡!

    2012-12-24 16:23:44 補充:

    007正確,尚可略簡!

    2012-12-24 16:43:44 補充:

    Bingo!009正確,與小弟預設字數相同(45字)

    還不能公開解答,待不含當日亦Bingo再一併公開供驗證! ^^

    煩請准大亦到友題發表意見!

    2012-12-24 20:54:36 補充:

    請教准大:

    009何條件會過不了關?我好同步確認我的45字解

    2012-12-26 10:26:58 補充:

    014 OK

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

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

    2012-12-26 10:27:44 補充:

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

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

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

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

    謝謝!

    2012-12-27 16:32:39 補充:

    嗯 大家都太客氣了 本題准大有作答 所以我屆時會公佈敝解供參考

    2012-12-30 13:51:50 補充:

    020 請測試2000/1/10,應返回2000/1/10

    2012-12-30 14:18:01 補充:

    023測試正確 寫法略有差異 不過字數一樣 等二天會通知上答 ^^

    2012-12-30 17:57:56 補充:

    哈 超過預設解字數了 ><

    2012-12-30 18:06:39 補充:

    原預設解(45字)

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

還有問題嗎?立即提問即可得到解答。