查看完整版本 : Excel 篩選 請教

zxz7zxz 2018-4-27 14:56

請問一下 如附件所示
已知各人將出席以下時間
如於B9選擇其中一天
想於A10及下方 自動因應指定日期出席者
列出該天所有出席者
及後因應上表新增/減少出席者
下方表格將自動調整

例︰2/6
將列出出席者為Bill, Daniel, Mike

想請教如何編寫Formula

余詠詩 2018-4-28 13:21

可看黃色部份,C2只看Alan,D2只看Bill,E2只看Ceci,F2只看Daniel,G2只看Eric,H2只看Mike

在C2打   =IF(HLOOKUP(B9,B1:J7,2)="x",A2,"")
在D2打   =IF(HLOOKUP(B9,B1:J7,3)="x",A3,"")
在E2打   =IF(HLOOKUP(B9,B1:J7,4)="x",A4,"")
在F2打   =IF(HLOOKUP(B9,B1:J7,5)="x",A5,"")
在G2打   =IF(HLOOKUP(B9,B1:J7,6)="x",A6,"")
在H2打   =IF(HLOOKUP(B9,B1:J7,7)="x",A7,"")

ncream 2018-4-29 00:30

[quote]原帖由 [i]zxz7zxz[/i] 於 2018-4-27 02:56 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479276988&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
請問一下 如附件所示
已知各人將出席以下時間
如於B9選擇其中一天
想於A10及下方 自動因應指定日期出席者
列出該天所有出席者
及後因應上表新增/減少出席者
下方表格將自動調整

例︰2/6
將列出出席者為Bil ... [/quote]

老老實實,你識唔識macro vba 先。或者識唔識run vba。

[[i] 本帖最後由 ncream 於 2018-4-29 12:35 AM 編輯 [/i]]

煙民母親生賤種

*** 作者被禁止或刪除 內容自動屏蔽 ***

煙民母親生賤種

*** 作者被禁止或刪除 內容自動屏蔽 ***

ncream 2018-4-29 06:59

[quote]原帖由 [i]煙民母親生賤種[/i] 於 2018-4-29 03:45 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479362296&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
做寫字樓果D一般都唔會識。你用佢地明既方法教佢地算啦。:fst_001: [/quote]

最搞笑係上次寫左個macro比人。點知佢收左唔識開來用。

呢個case vba 係最好。所以希望樓主識開。

QQL0102 2018-4-29 09:08

[quote]原帖由 [i]ncream[/i] 於 2018-4-29 06:59 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479363993&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


最搞笑係上次寫左個macro比人。點知佢收左唔識開來用。

呢個case vba 係最好。所以希望樓主識開。 [/quote]
我覺得VBA唔系好多人識(文職人員), 就算識,如果沒一定CODING既底,其實都未必寫到出黎

QQL0102 2018-4-29 10:03

[quote]原帖由 [i]QQL0102[/i] 於 2018-4-29 09:08 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479366321&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]

我覺得VBA唔系好多人識(文職人員), 就算識,如果沒一定CODING既底,其實都未必寫到出黎 [/quote]
(加個BUTTON,整個HELLO WORLD MSGBOX果類,其實都可以叫識;   但我覺得如果要用VBA process data,最基本要識用variable, loop, if then else,  知道點去count野, 我中學學過PASCAL,所以學VBA先比較易上手)

[[i] 本帖最後由 QQL0102 於 2018-4-29 04:45 PM 編輯 [/i]]

QQL0102 2018-4-29 10:04

del

[[i] 本帖最後由 QQL0102 於 2018-4-29 04:44 PM 編輯 [/i]]

alee001 2018-4-29 21:20

[quote]原帖由 [i]ncream[/i] 於 2018-4-29 12:30 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479357960&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


老老實實,你識唔識macro vba 先。或者識唔識run vba。 [/quote]


如2樓所見有現成formula唔用走去用vba咁笨?冇就話啫...

ncream 2018-4-29 22:35

[quote]原帖由 [i]alee001[/i] 於 2018-4-29 09:20 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479403153&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]



如2樓所見有現成formula唔用走去用vba咁笨?冇就話啫... [/quote]

難道你睇唔出上面解決方案不全面嗎?

ncream 2018-4-30 09:31

今日返工先寫。用左10分鐘左右。

其實得一句。


ActiveWindow.SmallScroll Down:=-30
    Range(filter_range).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        criteria_range), CopyToRange:=Range(copy_range), Unique:=False

FILE可以在下面條LINK DOWNLOAD

[url=https://www.sendspace.com/file/33qq5y]https://www.sendspace.com/file/33qq5y[/url]



希望樓主識得開。按"啟用內容"就可以。樓主注意,若你唔想見到32行,33行及34行,可以隱藏佢。呢到我因為比你睇到點做所以唔隱藏。



大家睇完就會知上面SET公式不能解決全部問題,因為情況唔同,要加減修改,名與名之間又有空儲格,SET 公式會複雜過用VBA好多。




[attach]8215639[/attach]

:loveliness:

[[i] 本帖最後由 ncream 於 2018-4-30 10:16 AM 編輯 [/i]]

alee001 2018-4-30 10:50

呢類case經常工作上都會遇到,以下公式係典型例子:
[attach]8215897[/attach]
[attach]8215898[/attach]
註:B10儲存格用[資料驗證]做清單;B11以下儲存格用公式列陣顯示結果。[code]=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(FIND("x",OFFSET(A:A,0,MATCH($B$10,B$1:J$1,0)))),ROW(OFFSET(A:A,0,MATCH($B$10,B$1:J$1,0))),FALSE),ROW(1:1))),"")[/code]

[[i] 本帖最後由 alee001 於 2018-4-30 02:00 PM 編輯 [/i]]

ncream 2018-4-30 11:33

[quote]原帖由 [i]alee001[/i] 於 2018-4-30 10:50 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479429728&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
呢類case經常工作上都會遇到,以下公式係典型例子:
8215897
8215898
註:B10儲存格用[資料驗證]做清單;B11以下儲存格用公式列陣顯示結果。 [/quote]


Sorry,又禁錯掣

你條式已顯示出好有問題:

1. 睇下條式幾複雜,根本重難理解過VBA,而且通常樓主呢類問EXCEL既人,係唔方便將真的DATA POST上來,只會舉例示意,即係話樓主POST出來只得8個人名,實際可能係幾十個人名,甚至百幾個,而每當加多人名或日期時,樓主要係一堆公式改範圍及CELL,唔錯至奇。

2. 8個人名要COPY 8 行,樓主若有100個名要COPY 100行,PRINT 連公式也計算在內,即出大量空白頁,要就每一個CASE SET PRINT RANGE,有時多頁有時少頁。:smile_39:

3. 若樓主要加FILTER 條件,例如兩個日期,2/6/2018及9/6/2018均出席,或唔用X,改用數字,要>500,咁你條公式再複雜多幾倍。除時超過255個字而寫唔到。VBA你只需要改ROW 31, 32行加入新條件就可以。


:smile_13::smile_13:

[[i] 本帖最後由 ncream 於 2018-4-30 11:56 AM 編輯 [/i]]

alee001 2018-4-30 12:17

[quote]原帖由 [i]ncream[/i] 於 2018-4-30 11:33 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479432496&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]



Sorry,又禁錯掣

你條式已顯示出好有問題:

1. 睇下條式幾複雜,根本重難理解過VBA,而且通常樓主呢類問EXCEL既人,係唔方便將真的DATA POST上來,只會舉例示意,即係話樓主POST出來只得8個人名,實際可 ... [/quote]


1)加人數冇問題,只要插入行數再拉下公式即可;加日期冇問題,只要更改[資料驗證]清單或改為公式即可。
2)加幾多個人名清單同點set print range因人而已,用另一頁list out可係其中一個方法。
3)要篩選某範圍日期內的人名可以修改少少公式一樣做到,不過樓主例子冇要求。

VBA唔係唔好,不過有得揀我會用公式先,因為vba檔案經常畀(唔識嘅)同事誤以為附有病毒...


                                                                                                                                                                                                                                            [url=http://computer.discuss.com.hk/space.php?action=viewpro&uid=2723881]alee001尊貴會員[/url][url=http://computer.discuss.com.hk/my.php?item=threads]我的話題[/url][url=http://computer.discuss.com.hk/my.php?item=favorites&type=thread]我的收藏[/url][url=http://computer.discuss.com.hk/my.php?item=subscriptions]我的追帖[/url][url=http://computer.discuss.com.hk/my.php?item=achievement]我的成就[/url][url=http://computer.discuss.com.hk/my.php?item=grouppermission]我的權限[/url][url=http://computer.discuss.com.hk/my.php?item=polls&type=poll]我的投票[/url][url=http://computer.discuss.com.hk/my.php?item=buddylist]我的好友[/url][url=http://computer.discuss.com.hk/my.php?item=cointransaction&control=income]我的金幣[/url][url=http://computer.discuss.com.hk/my.php?item=followlist]追蹤[/url][url=http://computer.discuss.com.hk/my.php?item=fanslist&]粉絲[/url][url=http://computer.discuss.com.hk/my.php?item=block]黑名單[/url][url=http://computer.discuss.com.hk/my.php?item=redeem]換領專區[/url][url=http://computer.discuss.com.hk/logging.php?action=logout&formhash=ee499a9a]退出[/url]                                                                                                                                                                                                                                                                                                                                              [url=http://computer.discuss.com.hk/memcp.php]控制面板首頁[/url][url=http://computer.discuss.com.hk/memcp.php?action=profile&typeid=5]編輯個人資料[/url][url=http://computer.discuss.com.hk/memcp.php?action=creditslog]積分記錄[/url]                                                                                                                                                                                                                                                                                                                                                                                              [url=http://www.price.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_price.png[/img] 香港格價網[/url][url=http://www.jetso.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_jetso.png[/img] Jetso[/url][url=http://www.car.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_car.png[/img] 港車網[/url][url=http://www.mytour.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_mytour.png[/img] MyTour[/url][url=http://www.mammydaddy.com/][img]http://computer.discuss.com.hk/images/icons/icon_mammydaddy.png[/img] MammyDaddy[/url][url=http://www.adhere.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_adhere.png[/img] 香港分類網[/url]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             [url=http://computer.discuss.com.hk/space.php?action=viewpro&uid=2723881]alee001尊貴會員[/url][url=http://computer.discuss.com.hk/my.php?item=threads]我的話題[/url][url=http://computer.discuss.com.hk/my.php?item=favorites&type=thread]我的收藏[/url][url=http://computer.discuss.com.hk/my.php?item=subscriptions]我的追帖[/url][url=http://computer.discuss.com.hk/my.php?item=achievement]我的成就[/url][url=http://computer.discuss.com.hk/my.php?item=grouppermission]我的權限[/url][url=http://computer.discuss.com.hk/my.php?item=polls&type=poll]我的投票[/url][url=http://computer.discuss.com.hk/my.php?item=buddylist]我的好友[/url][url=http://computer.discuss.com.hk/my.php?item=cointransaction&control=income]我的金幣[/url][url=http://computer.discuss.com.hk/my.php?item=followlist]追蹤[/url][url=http://computer.discuss.com.hk/my.php?item=fanslist&]粉絲[/url][url=http://computer.discuss.com.hk/my.php?item=block]黑名單[/url][url=http://computer.discuss.com.hk/my.php?item=redeem]換領專區[/url][url=http://computer.discuss.com.hk/logging.php?action=logout&formhash=ee499a9a]退出[/url]                                                                                                                                                                                                                                                                                                                                              [url=http://computer.discuss.com.hk/memcp.php]控制面板首頁[/url][url=http://computer.discuss.com.hk/memcp.php?action=profile&typeid=5]編輯個人資料[/url][url=http://computer.discuss.com.hk/memcp.php?action=creditslog]積分記錄[/url]                                                                                                                                                                                                                                                                                                                                                                                              [url=http://www.price.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_price.png[/img] 香港格價網[/url][url=http://www.jetso.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_jetso.png[/img] Jetso[/url][url=http://www.car.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_car.png[/img] 港車網[/url][url=http://www.mytour.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_mytour.png[/img] MyTour[/url][url=http://www.mammydaddy.com/][img]http://computer.discuss.com.hk/images/icons/icon_mammydaddy.png[/img] MammyDaddy[/url][url=http://www.adhere.com.hk/][img]http://computer.discuss.com.hk/images/icons/icon_adhere.png[/img] 香港分類網[/url]

ncream 2018-4-30 12:39

[quote]原帖由 [i]alee001[/i] 於 2018-4-30 12:17 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479434754&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]



1)加人數冇問題,只要插入行數再拉下公式即可;加日期冇問題,只要更改[資料驗證]清單或改為公式即可。
2)加幾多個人名清單同點set print range因人而已,用另一頁list out可係其中一個方法。
3)要篩選某範圍 ... [/quote]

我覺得最低限度你都要提供link比樓主下載檔案。單睇圖照打不容易。多數打錯。

QQL0102 2018-5-1 11:39

如果D 公式太複雜, 唔易明,我都比較PREFER 寫CODE 多過用公式,  另外寫CODE 容易除錯, 如果公式太長, 除錯好煩

ncream 2018-5-2 11:59

[quote]原帖由 [i]QQL0102[/i] 於 2018-5-1 11:39 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479488379&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
如果D 公式太複雜, 唔易明,我都比較PREFER 寫CODE 多過用公式,  另外寫CODE 容易除錯, 如果公式太長, 除錯好煩 [/quote]

我自己覺得呢個CASE VBA係最好。容易維護又可以任你加新條件。

不過用公式都有佢既價值,例如OFFICE 365,無VBA。

另外GOOGLE SHEET 其實都好好用,又有SCRIPT。最後可能免費掏汰要錢個D。

:loveliness:

P.S. 今日一次過換5部PRINTER/COPIER/SCANNER, RICOH機。呢兩個星期有排做。

QQL0102 2018-5-3 07:37

樓主呢個case ,其實我吾識用公式整出黎

argriq 2018-5-3 11:34

[quote]原帖由 [i]ncream[/i] 於 2018-5-2 11:59 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479543522&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


我自己覺得呢個CASE VBA係最好。容易維護又可以任你加新條件。

不過用公式都有佢既價值,例如OFFICE 365,無VBA。

另外GOOGLE SHEET 其實都好好用,又有SCRIPT。最後可能免費掏汰要錢個D。

:loveliness ... [/quote]
我想問點解 copy_range = "A34" 呢
點解唔係B34
謝謝

ncream 2018-5-3 14:16

[quote]原帖由 [i]argriq[/i] 於 2018-5-3 11:34 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479604698&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]

我想問點解 copy_range = "A34" 呢
點解唔係B34
謝謝 [/quote]

呢個MACRO係用EXCEL 既Advance filtering,進階篩選,所以首先你要明白進階篩選點用先:

[url]http://ricky0512.blogspot.hk/2015/09/excel-advanced-filter-by-lists.html?view=flipcard[/url]

若果你只想篩選出指定欄位而不是全部,雖然將要的欄位名稱寫下來,就好似本例的NAME,再指定輸出name的CELL 位置,Advance filtering就只會將篩選範圍內同為NAME的欄位COPY上去A35,由A35開始。若果你打兩欄名稱,就會出兩欄。

所以若果你想出B35,只要將NAME改放在B35,再在MACRO的REMARK找到相應的VARIABLE,改為B35就可以。

:loveliness:

argriq 2018-5-4 11:23

[quote]原帖由 [i]ncream[/i] 於 2018-5-3 02:16 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479614898&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


呢個MACRO係用EXCEL 既Advance filtering,進階篩選,所以首先你要明白進階篩選點用先:

[url=http://ricky0512.blogspot.hk/2015/09/excel-advanced-filter-by-lists.html?view=flipcard]http://ricky0512.blogspot.hk/2015/09/excel-advanced-filter-by-lists.html?view=flipcard[/url]

若果你只想篩選出指定 ... [/quote]
另外想問下另一個sheef攞"A1:S27" 這句語法filter_range = "A1:S27" 點改
謝謝

ncream 2018-5-4 11:26

[quote]原帖由 [i]argriq[/i] 於 2018-5-4 11:23 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479666111&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]

另外想問下另一個sheef攞"A1:S27" 這句語法filter_range = "A1:S27" 點改
謝謝 [/quote]

若果你覺得個檔案人名都唔夠多,要加多幾十行。

咁範圍就變左"A1:SXX",filter range要改。例如加到100個人名,咁filter_range="A1:S100"。

不過criteria_range同A34都變左,要改啊。

其實可以因應人名多少而自動set範圍,只係我用十分鐘起貨,所以整個variable比你地自己set。

[[i] 本帖最後由 ncream 於 2018-5-4 11:28 AM 編輯 [/i]]

argriq 2018-5-4 11:38

[quote]原帖由 [i]ncream[/i] 於 2018-5-4 11:26 AM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=479666317&ptid=27405984][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]


若果你覺得個檔案人名都唔夠多,要加多幾十行。

咁範圍就變左"A1:SXX",filter range要改。例如加到100個人名,咁filter_range="A1:S100"。

不過criteria_range同A34都變左,要改啊。

其實可以因應人名 ... [/quote]


如果本身個sheef去另一個sheef攞呢,這句語法點改

ncream 2018-5-4 12:20

[quote]原帖由 [i]argriq[/i] 於 2018-5-4 11:38 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479666890&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]



如果本身個sheef去另一個sheef攞呢,這句語法點改 [/quote]

都一樣咁做,只不過要係你想顯示結果個張SHEET到加入上CODE。


講唔係咁清楚,寫一次比你睇,留意"工作表2"
[url=https://www.sendspace.com/file/0ot2lf]https://www.sendspace.com/file/0ot2lf[/url]

:loveliness:

QQL0102 2018-5-5 10:26

[quote]原帖由 [i]ncream[/i] 於 2018-5-2 11:59 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479543522&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


我自己覺得呢個CASE VBA係最好。容易維護又可以任你加新條件。

不過用公式都有佢既價值,例如OFFICE 365,無VBA。

另外GOOGLE SHEET 其實都好好用,又有SCRIPT。最後可能免費掏汰要錢個D。

:loveliness ... [/quote]

如果問題唔複雜, 公式一定快過CODING,eg.  sumif / sum ==> vba 絕對做到,但我相信沒人會再寫CODING 計數。
goodle sheet 唔系唔好, 但佢用既script ,我覺得唔系好多人識用, 除非本身讀IT,或學過

ncream 2018-5-5 10:29

[quote]原帖由 [i]QQL0102[/i] 於 2018-5-5 10:26 AM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=479717481&ptid=27405984][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]


如果問題唔複雜, 公式一定快過CODING,eg.  sumif / sum ==> vba 絕對做到,但我相信沒人會再寫CODING 計數。
goodle sheet 唔系唔好, 但佢用既script ,我覺得唔系好多人識用, 除非本身讀I ... [/quote]

如果問題唔複雜, 公式一定快過CODING   <-----當然啦,唔係邊有人用公式。我都係首先用公式。

用公式還是VBA係CASE BY CASE,呢個FILTERING CASE當然係VBA最好。

GOOGLE SHEET係JAVA SCRIPT改版,其實唔難用。依家重有錄制功能,同VBA一樣,將來一定勁流行。

:loveliness:
頁: [1]
查看完整版本: Excel 篩選 請教