Yahoo 知識+ 將於 2021 年 5 月 4 日 (美國東岸時間) 停止服務,而 Yahoo 知識+ 網站現已轉為僅限瀏覽模式。其他 Yahoo 資產或服務,或你的 Yahoo 帳戶將不會有任何變更。你可以在此服務中心網頁進一步了解 Yahoo 知識+ 停止服務的事宜,以及了解如何下載你的資料。
請高手修改函數-須跨月份查詢.
請高手修改函數-須跨月份查詢
工作表:目前有"一覽表"."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(未解決??????)
希望不用巨集-----謝謝
檔案在
2 個解答
- DanielLv 71 十年前最愛解答
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"),""))