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

? 發問於 電腦與網際網路軟體 · 1 十年前

請高手修改函數-須跨月份查詢.

請高手修改函數-須跨月份查詢

工作表:目前有"一覽表"."8月".9月".10月

目前只能查詢單月8月.希望改為8-10月(甚至以後改為1-12月)

修改的重點為能跨月份查詢

例:日期8/10

單一個代號q123有可能安排2組人員a與b組

d4與e4顯示8/10(目前已解決)

但9/10代號q123安排2組人員c與d組

f4與g4顯示9/10(未解決??????)

希望不用巨集-----謝謝

檔案在

http://www.funp.net/234223

2 個解答

評分
  • Daniel
    Lv 7
    1 十年前
    最愛解答

    1.先建立要查詢的月份, 置於I2, 按 [資料] - [驗証], 下拉 [儲存格內允許] 選取 [清單], 在 [來源] 填入名稱

    2.按 [插入] - [名稱] - [定義], 分別建立3個名稱:

    [日期] 參照到 [ =OFFSET(INDIRECT(一覽表!$I$2 & "!A3"),,,COUNTA(INDIRECT(一覽表!$I$2 & "!A:A"))-1,) ]

    [代號] 參照到 [ =OFFSET(INDIRECT(一覽表!$I$2 & "!B3"),,,COUNTA(INDIRECT(一覽表!$I$2 & "!A:A"))-1,) ]

    [組別] 參照到 [ =OFFSET(INDIRECT(一覽表!$I$2 & "!D3"),,,COUNTA(INDIRECT(一覽表!$I$2 & "!A:A"))-1,) ]

    3.儲存格D4公式改為:

    =IF($B4="","",SUMPRODUCT((代號=$B4)*ISNUMBER(FIND(D$3,組別)),日期))

    向右向下複製

    如附件: http://www.go2upload.com/file/2/4845c9.html

    2009-08-15 11:53:23 補充:

    若要所有資料都參照到同一個表, 則要設定的名稱就多了, 每一個月份都要設立下列名稱 (如 8月) :

    [日期8] 參照到 [ =OFFSET('8月'!$A$3,,,COUNTA('8月'!$A:$A)-1,) ]

    [代號8] 參照到 [ =OFFSET('8月'!$B$3,,,COUNTA('8月'!$A:$A)-1,) ]

    [組別8] 參照到 [ =OFFSET('8月'!$D$3,,,COUNTA('8月'!$A:$A)-1,) ]

    [TE8] 參照到 [ =SUMPRODUCT((代號8=一覽表!$B4)*ISNUMBER(FIND(一覽表!D$3,組別8)),日期8) ]

    2009-08-15 11:53:50 補充:

    D4公式改為:

    =IF($B4="","",TEXT(IF(TE8,TE8,"")&IF(TE9,TE9,"")&IF(TE10,TE10,""),"m/d"))

    向右向下複製公式

    這是在每一個月份的資料沒有重複的情況, 若可能重複, 則TEXT函數就要放在每一個IF裡, 改為:

    =IF($B4="","",IF(TE8,TEXT(TE8,"m/d"),"")&IF(TE9,TEXT(TE9,"m/d"),"")&IF(TE10,TEXT(TE10,"m/d"),""))

    如附件: http://www.go2upload.com/file/2/4ac06f.html

  • 1 十年前

    很詳細---真的太棒了

    這就是我要的

    謝謝!

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