返回列表 上一主題 發帖

[發問] 陣列公式中的篩選條件

本帖最後由 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))

如附件
班表.rar (100.77 KB)
學海無涯_不恥下問

TOP

回復 5# oobird

老哥:我刻意登出來看,圖片看的到唷
學海無涯_不恥下問

TOP

回復 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))
班表.rar (105.67 KB)
學海無涯_不恥下問

TOP

        靜思自在 : 口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表 上一主題