Board logo

標題: [發問] 陣列公式中的篩選條件 [打印本頁]

作者: solely    時間: 2010-9-5 19:36     標題: 陣列公式中的篩選條件

本帖最後由 solely 於 2011-6-5 22:19 編輯

煩請高手幫忙
如附件
1.是否有函數可以將C4:D33的名單以不重複的方式貼至G6:G20?
2.陣列公式是否可以"字的顏色"來做篩選條件?
  如附件中使用{=SUM((($B$3:$B$33=1)+($B$3:$B$33=7))*($C$3:$D$33=G6)*$I$2)}
  只能統計星期六、日的資料,無法統計到9月22日(星期三)的資料。
3.當A1輸入年月,是否有方法可以讓A3~A33自動顯示當月的日期而不至於有跨月的日期出現?
[attach]2691[/attach]
作者: Hsieh    時間: 2010-9-5 21:54

本帖最後由 Hsieh 於 2010-9-5 22:56 編輯

回復 1# solely
使用假期表
A:B欄的效果使用格式條件
A3=$A$1+ROW(A1)-1
B3=A3
H6=IF(G6="","",SUMPRODUCT((WEEKDAY($B$3:$B$33,2)<=5)*ISERROR(MATCH($B$3:$B$33,$L:$L,0))*(($C$3:$C$33=$G6)+($D$3:$D$33=$G6))*$H$2))
I6=IF(G6="","",SUMPRODUCT(((WEEKDAY($B$3:$B$33,2)>5)+ISNUMBER(MATCH($B$3:$B$33,$L:$L,0)))*(($C$3:$C$33=$G6)+($D$3:$D$33=$G6))*$I$2))
H24=IF(G24="","",SUMPRODUCT((WEEKDAY($B$3:$B$33,2)<=5)*ISERROR(MATCH($B$3:$B$33,$L:$L,0))*($E$3:$E$33=$G24)*$H$3))
I24=IF(G24="","",SUMPRODUCT(((WEEKDAY($B$3:$B$33,2)>5)+ISNUMBER(MATCH($B$3:$B$33,$L:$L,0)))*($E$3:$E$33=$G24)*$I$3))
[attach]2694[/attach]
如附件
[attach]2695[/attach]
作者: solely    時間: 2010-9-5 22:33

回復 2# Hsieh
感謝版主的回復XD
我還不能下載附件看呢...努力簽到中~
作者: ANGELA    時間: 2010-9-6 10:07

Hsieh 版主知道你不能下載所以把公式都列出來了只要參考圖片就可了解,不一定要下載.
作者: oobird    時間: 2010-9-6 13:27

若無下載權限,同樣也無法看到貼圖的。
作者: Hsieh    時間: 2010-9-6 14:28

回復 5# oobird

老哥:我刻意登出來看,圖片看的到唷
作者: oobird    時間: 2010-9-6 14:43

回復  oobird

老哥:我刻意登出來看,圖片看的到唷
Hsieh 發表於 2010-9-6 14:28



    是哦?新論壇的又一個優點!
作者: solely    時間: 2010-9-6 22:03

回復 6# Hsieh
謝謝版主...圖片我看到了..超感動的~~
第2、3的問題解決了~
(有點捨不得我的陣列公式XDD....因為..我才剛學會怎麼用陣列)

有關第1個問題
我若用進階篩選只能擷取到C欄位的名單,似乎無法跨欄位篩選。
另外還有個缺點就是..當C、D欄位的資料變更,G欄位的名單不會立即更新,得重新篩選。
想說有沒有別的方式可以讓G欄位列出C、D欄位的名單??
作者: Hsieh    時間: 2010-9-6 22:54

回復 8# solely
這樣的表格要使用公式或進階篩選都是有困難的
取得不重複清單試試使用自定義函數(VBA輔助)
  1. Function Only(Rng As Range, k%)
  2. Set d = CreateObject("Scripting.Dictionary")
  3. Application.Volatile
  4. For Each a In Rng
  5.   If a <> "" Then d(a & "") = ""
  6. Next
  7. ar = d.keys
  8. If k - 1 > UBound(ar) Then Only = "" Else Only = ar(k - 1)
  9. End Function
複製代碼
將代碼複製到VBE視窗一般模組內
G6=only($C$3:$D$33,ROW(A1))
G24=only($E$3:$E$32,ROW(A1))
[attach]2707[/attach]
作者: solely    時間: 2010-9-7 22:45

回復 9# Hsieh
感謝版主..超好用的only函數XD
(這個函數的名字..我喜歡~)

突然發現.....工作表...除了表格是我畫的-.-""...都被版主改了@@
看來我還有很多要學習的~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)