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

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

EXCEL格式化條件-連續6個儲存格無 "OFF"

範圍 A1:AE18

A1=CHOOSE(RAND()*4+1,"D","E","N","OFF") 右拉下拉複製

同一列連續 6 個以上儲存格無 "OFF"

則格式化底色

如下圖:

圖片參考:http://imgcld.yimg.com/8/n/AE02667166/o/2014020813...

更新:

PS:

1. 此題來源:http://tw.knowledge.yahoo.com/question/question?qi...

2. 數量 "6 個以上" 請含 6 個,如上圖 A15:F15。

3. 完整圖:http://imgcld.yimg.com/8/n/AE02667166/o/2014020813...

4. 此題想請 "准提部林 大師" 上答,如果大家有不同的想法也歡迎交流。

更新 2:

感謝各位大大參與

結果都正確無誤

EXCEL迷 大提供了另一個思考方向

准提部林 大原本的公式本來就令我相當佩服了(所以才開此題)

沒想到還能再進化

Lopez 大的巨集版本也能很方便快速的著色

不過測試時

用了 A1=CHOOSE(RAND()*4+1,"D","E","N","OFF") 右拉下拉複製

然後按著色

結果可能因為 RAND() 的緣故跑了好久

嚇了一跳

當然實際應用不會有 RAND()

所以沒問題

更新 3:

TO: Lopez 大

三個按鈕我都有試

所以知道 Lopez 大的巨集版本沒問題

會去測 RAND() 純粹是因為個人的好奇心

因為巨集我完全沒學過

或許過幾年想學的時候

再來討教

更新 4:

TO: 准提部林 大師

應該沒有人要再提供意見交流了,

請 准大 上答,

感謝 准大 無私地分享,

也謝謝 迷大 和 L大 熱情參與。

5 個解答

評分
  • 7 年前
    最愛解答

    <參考檔>:

    http://www.funp.net/216309

    原公式1:

    =COUNT(0/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"OFF")=0)/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"<>")=6))

    2014-02-08 17:25:14 補充:

    公式2:

    =COUNT(0/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"OFF")=0)/(SUBTOTAL(3,OFFSET(A1,,ROW($1:$6)-6,,6))=6))

     

    公式3:

    =COUNT(0/(COUNTIF(OFFSET(A1,,COLUMN($A:$F)-6,,TEXT(37-COLUMN(A:F),"[>6]!6")),"<>OFF")=6))

    2014-02-08 19:21:55 補充:

    <測試檔>:

    http://www.funp.net/73700

    公式4:

    =COUNT(0/(COUNTIF(OFFSET(A1,,COLUMN($A:$F)-6,,6),"OFF")=0)/(COLUMN(A:F)<32))

    大概這樣,暫無更好方案~~

    2014-02-09 18:38:53 補充:

    <參考檔>:

    http://www.funp.net/924560

    E大001方法:

    計算OFF與OFF之間的連續格數,

    兩種公式參考!

    2014-02-10 18:59:58 補充:

    EXCEL.同一列中連續6格不是"OFF",以〔格式化條件〕填色

                            <.准提部林.>

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

    以下公式純拼湊,長短不計,效能各有不同,

    請自行下載範例檔測試。

     

    ■同一列兩個"OFF"之間,超過6格或以上,顯示黃底色:

     公式1:

     =COUNT(0/(COUNTIF(OFFSET(A1,,COLUMN($A:$F)-6,,6),"OFF")=0)/(A1:F1<>""))

     公式2:

     =COUNT(0/(COUNTIF(OFFSET(A1,,COLUMN($A:$F)-6,,6),"OFF")=0)/(COLUMN(A:F)<=COUNTA(1:1)))

     公式3:

     =COUNT(0/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"OFF")=0)/(SUBTOTAL(3,OFFSET(A1,,ROW($1:$6)-6,,6))=6))

     公式4:

     =COUNT(0/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"OFF")=0)/(COUNTIF(OFFSET(A1,,ROW($1:$6)-6,,6),"<>")=6))

     

    ■計算同一列兩個"OFF"之間有多少個儲存格:

     公式1:

     =MATCH("OFF",IF(A1:AF1="","OFF",A1:AF1),)+COLUMN(A1)-MAX(($A1:A1="OFF")*COLUMN($A1:A1))-2

     公式2:

     =MATCH(IF(OR(A1:AF1="OFF"),"OFF",""),A1:AF1&"",)+COLUMN(A1)-MAX(($A1:A1="OFF")*COLUMN($A1:A1))-2

     公式3:

     =LOOKUP(9^9,MATCH(IF(2-ROW($1:$2),"","OFF"),A1:AF1&"",))+COLUMN()-MAX(($A1:A1="OFF")*COLUMN($A1:A1))-2

     

     或參考.意見001.E迷大:

     =IF(A1="OFF",0,IF(ISNA(MATCH("OFF",B1:$AE1,)),COUNTA(1:1)+1,MATCH("OFF",B1:$AE1,)+COLUMN(A1))-MAX(($A1:A1="OFF")*COLUMN($A1:A1))-1)

     

    ■說明:

     1.以上公式若在儲存格中測試,請以陣列輸入〔Shift+Ctrl→Enter〕

     2.測試資料以〔非空白〕儲存格為條件。

     3.若需求或範圍不同,請自行更改參照數據及範圍。

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

    <範例檔>:

    檔案名稱:20140207a01(連續格格式化條件).rar

    下載位址:http://www.funp.net/607544

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

  • 匿名
    7 年前

    您期待已久的 8891娛樂城 熱烈開幕囉!

    8891娛樂城以優質的服務領先業界

    多位美女客服24小時即時線上為您服務!

    8891娛樂城有優於市面所有運動投注遊戲盤口的賠率

    以及免下載真人視訊百家樂、21點、骰寶、各國賓果、餐廳賓果、彩球遊戲

    另有數百位真人視訊聊天辣妹與您進行互動聊天還有"精彩"電影喔!

    心動了嗎!! 快來體驗市面上最完質最高品質的服務

    現在有開放免費試玩喔! 官網 : 8891.NET

  • 匿名
    7 年前

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    【 最新活動→迎接新會員,首存狂送20% 】

    【運動→電子→對戰→現場→彩球 】

    【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

  • Lopez
    Lv 7
    7 年前

    巨集版本:

    http://www.funp.net/942474

    2014-02-09 15:26:41 補充:

    Harmonica 大大 :

    A1及其他儲存格不需要輸入任何函數,

    因為我連這部分也用巨集取代了,

    所以開啟檔案後,只需要按鈕就可以了.

    2014-02-09 20:19:14 補充:

    Harmonica 大大 :

    這題用函數解遠比巨集解困難.

    因此請從 准提部林 或 EXCEL迷 兩位高手

    擇一上答.謝謝.

  • 7 年前

    邏輯:二 OFF 間或 OFF 與頭尾格間距離格數 >6為TRUE

    A20{=(IF(A1="OFF",0,IF(ISNA(MATCH("OFF",B1:$AE1,)),COUNTA(1:1)+1,MATCH("OFF",B1:$AE1,)+COLUMN(A1))-MAX(($A1:A1="OFF")*COLUMN($A1:A1)))>6)*1

    (AE欄後要清空)

    試試看

    2014-02-09 20:53:33 補充:

    本題從 准大 學到一招 COUNTIF(OFFSET(A1,,COLUMN($A:$F)-6,,6),"OFF")

    以往都要用輔助 例:http://www.funp.net/595215(%E5%8F%A6%E4%B8%80%E9%A...

    應謝謝 准大 請上答

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