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

?
Lv 7
? 發問於 電腦與網際網路軟體 · 8 年前

Excel公式:末數最先出現5時之出現次數

148451502587532796555336427#N/A601372#N/A169176#N/A05929025389661909406#N/A85442625834541443714#N/A604217#N/A934404#N/A2

題目

A1:F14為0至9

從最後一列往上數,找出第一個出現5時之連續出現列數G1:G14為模擬之步驟解(不得引用),先找出該列有沒有5

此例10,11列連續二列出現5,故答案為2(G16為模擬解,不得引用)若A1:F14都沒有出現5,則答案為0

若14列出現5,13列未出現5,則答案為1

若14列未出現5,13列出現5,12列未出現5,則答案為1無輔助列、定義名稱、VBA

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

限2003版本http://www.funp.net/708069

更新:

答案請輸入在G18

更新 2:

喔!對了,小弟連任微軟Excel MVP,此喜悅分享給大家!

https://mvp.support.microsoft.com/profile=5D070D09...

6 個解答

評分
  • 8 年前
    最愛解答

    恭禧好友!

    希望哪天微軟大大也出個MVP休旅車獎給當選者,才更相得益彰!

    2013-01-20 16:15:43 補充:

    82字.陣列公式:

    =MATCH(,1-ISERR(0/SUMIF(OFFSET(A1:F1,MAX((A1:F15=5)*ROW(1:15))-ROW(1:15),),5)),)-1

    偷機借用第15列!

    2013-01-20 19:30:30 補充:

    修一下:

    =MATCH(,1-ISERR(0/SUMIF(OFFSET(A1:F1,MAX((A1:F14=5)*ROW(1:14))-ROW(1:15),),5)),)-1

    2013-01-27 15:23:54 補充:

    EXCEL.取得數字〔5〕最後〔連續出現〕的〔列數〕

                            <.准提部林.>

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

    ■公式:陣列輸入

     =MATCH(,1-ISERR(0/SUMIF(OFFSET(A1:F1,MAX((A1:F14=5)*ROW(1:14))-ROW(1:15),),5)),)-1

     

     或.若目標數字為〔0〕,請使用:

     =MATCH(,1-ISERR(0/COUNTIF(OFFSET(A1:F1,MAX((A1:F14=5)*ROW(1:14))-ROW(1:15),),5)),)-1

     

     --說明--

     先取得目標值最大的〔列號〕,

     再以此為範圍判斷〔非目標值〕倒數的位置,邏輯較簡單。

     

     

    〔PINY 大師〕超短預設解 ~~ 頗有難度!!!

     =FIND(0,SUM(MMULT(--(A1:F14=5),1^A1:A6)*10^ROW(1:14)))-1

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

  • ?
    Lv 7
    8 年前

    92字

    =LOOKUP(99,1*TEXT(FREQUENCY(ROW(1:15),(MMULT(N(A1:F15=5),ROW(1:6)^0)=0)*ROW(1:15))-1,"0;;"))

    一般公式

    2013-01-15 10:09:00 補充:

    恭喜大師連任Excel MVP

    也謝謝你不斷給我們灌輸功力

    2013-01-15 10:23:02 補充:

    107字

    =LEFT(SUM(TEXT(FREQUENCY(ROW(1:15),(MMULT(N(A1:F15=5),ROW(1:6)^0)=0)*ROW(1:15))-1,"0;!0;!0")*10^ROW(1:16)))

    三鍵輸入

    2013-01-15 11:47:45 補充:

    116字

    =IF(COUNTIF(A1:F14,5),LOOKUP(99,1*TEXT(FREQUENCY(ROW(1:15),(MMULT(N(A1:F15=5),ROW(1:6)^0)=0)*ROW(1:15))-1,"0;;")),0)

    2013-01-15 12:11:04 補充:

    107字

    =-LOOKUP(1,-IF(ROW(1:15)>1,TEXT(FREQUENCY(ROW(1:15),(MMULT(N(A1:F15=5),ROW(1:6)^0)=0)*ROW(1:15))-1,"0;;")))

    三鍵

  • ?
    Lv 7
    8 年前

    恭喜大師連任Excel MVP

  • ?
    Lv 7
    8 年前

    003,當第一列才第一次出現5,未返回1

    2013-01-15 10:05:58 補充:

    006,全部未出現5時,未返回0

    2013-01-15 10:49:09 補充:

    009,未考慮連續10列出現5之情況

    2013-01-15 11:12:37 補充:

    011,原範例輸入時,未返回2

    2013-01-15 11:35:49 補充:

    013,僅前三列出現5時,未返回3

    2013-01-15 11:51:04 補充:

    015正確! 尚可略簡! ^^

    2013-01-15 12:16:03 補充:

    017正確! 尚可略簡! ^^

    2013-01-21 09:20:19 補充:

    019, 020正確! 尚可略簡! ^^

    2013-01-27 02:20:09 補充:

    避免問題被移除 宣告截稿

    此期間答出相對較短者為准大,請上答

    此題改編自

    http://club.excelhome.net/thread-971101-1-1.html

    公開敝解(56字)

    =FIND(0,SUM(MMULT(--(A1:F14=5),1^A1:A6)*10^ROW(1:14)))-1

  • ?
    Lv 6
    8 年前

    志在參與(105字)陣列公式

    =LOOKUP(SUM(LARGE(IF(MMULT((A1:F14=5)*1,ROW(2:7)-ROW(1:6))>0,1,0)*ROW(1:14),{1,2})*{1,-1}),{0,1,2;0,2,1})

    2013-01-15 11:08:09 補充:

    現學現賣;陣列-123字

    =LOOKUP(IF(SUM((A1:F14=5)*ROW(1:14)),2,SUM(LARGE(N(MMULT((A1:F14=5)*1,ROW(1:6)^0))*ROW(1:14),{1,2})*{1,-1})),{0,1,2;0,2,1})

    2013-01-15 11:30:57 補充:

    132字

    =LOOKUP(IF(SUM((A1:F14=5)*ROW(1:14))=1,2,SUM(LARGE(IF(MMULT((A1:F14=5)*1,ROW(1:6)^0)>0,1,0)*ROW(1:14),{1,2})*{1,-1})),{0,1,2;0,2,1})

  • ?
    Lv 4
    8 年前

    恭喜大師連任!!

    不過還是看不懂題目.../_\

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