Excel 資料庫清單篩選

2010-11-28 11:04 pm
我要用 Excel 2003 做活頁檔案,
其中 Sheet1 為一張總表如下表所示, A欄為項次, B欄為日期, C欄為明細1, D欄為明細2, E欄為數量, F欄為備註,

 ABCDEF1ItemDateDescriptionQ'tyRemark2ModelTyoe3111月15日木材木板12 4211月15日木材四方木條6 5311月15日鐵材鐵板23 6411月15日鋁材鋁條28aaaa7511月16日木材四方木條8 8611月16日鐵材鐵板41 9711月16日鐵材鐵條22 10811月16日鋁材鋁板13bbbb11911月16日鋁材鋁條31 121011月16日鋁材軌道26 131111月17日木材木板17 141211月17日木材圓型木條33 151311月17日鐵材鐵條16 161411月17日鋁材鋁板8cccc171511月17日鋁材鋁板34 181611月17日鋁材鋁條11 191711月18日木材四方木條9 201811月18日鐵材鐵板34dddd211911月18日鐵材鐵條15 222011月18日鐵材角鐵15 232111月18日鋁材鋁板21 242211月19日木材木板27 252311月19日木材四方木條4 262411月19日木材圓型木條7ffff272511月19日鐵材鐵板31 282611月19日鐵材鐵條14 292711月19日鋁材鋁條27 302811月19日鋁材鋁板15 

而且已經用 插入/名稱/定義 + 資料/驗證/設定 方式將 C跟D兩欄設定為下拉式清單以節省輸入表格時間,

C欄下拉式清單內容為 木材/鐵材/鋁材 三種, 選擇了C欄之後才能選擇D欄內容,

若C欄選擇木材, 則D欄有 木板/方型木條/圓型木條 三種可選擇 ,
若C欄選擇鐵材, 則D欄有 鐵板/鐵條/角鐵 三種可選擇 ,
若C欄選擇鋁材, 則D欄有 鋁板/鋁條/軌道 三種可選擇,

並且已經於第1行設定自動篩選
更新1:

但是需要在 Sheet2 中製作 木材 清單, 將所有Sheet 1 的 C 欄選擇 木材 的, 通通自動聯結並複製 到 Sheet 2. (表格格式不變) 同理, 也會於 Sheet3 製作 鐵材 清單, 將所有Sheet 1 的 C 欄選擇 鐵材 的, 通通自動聯結並複製 到 Sheet 3 , (表格格式不變) 並於 Sheet4 中製作 鋁材 清單, 將所有Sheet 1 的 C 欄選擇 鋁材 的, 通通自動聯結並複製 到 Sheet 4.(表格格式不變)

更新2:

然後還會於 Sheet5 中製作 木板 清單, 將所有Sheet 1 的 D 欄選擇 木板 的, 通通自動聯結並複製 到 Sheet 5. 如下表所示(表格格式不變) 同樣的, 也會於其他活頁製作 四方木條/圓型木條/鐵板/鐵條/角鐵/鋁板/鋁條/軌道 的分類清單. 我嘗試過使用 [樞紐分析表] 功能, 並選擇 [複製於不同位置], 將篩選出來的資料複製到相對應活頁, 但是卻只有最上方的表格欄位標籤被篩選出來, 不然就是整張資料表複製過去沒有篩選. 想請問是否有高手知道要如何達到我要的篩選功能? 並且能達到自動更新? 不然的話, 隨著表格越來越大, 全部手動複製會很累也容易出錯.

更新3:

不好意思, YAHOO知識提問有字數限制, 問題無法一次post上去, 問題必須分段, 而且後續補充內容時無法貼上表格. 我的其他分類清單都必須能夠與 Sheet 1 的總表自動連結, Sheet 1 的總表一旦變更或增加資料, 其他分類清單都必須自動更新, 但是表格格式可以不變, 如果會不同也沒關係.

更新4:

TO y凌 : 謝謝你的解答, 但是我在 B欄(日期) 跟 C欄(明細) 中間又插入一欄 C欄(公司), 所以原本的 C欄(明細) 變成D欄, D欄變成E欄...以此類推. 公式在使用上並沒問題, 唯一的困擾是, 有的公司欄位(c欄)我沒有輸入公司名稱, 因此在篩選出來的分類表中出現 1900/1/0 , 將儲存格格式改成 "G/通用格式" 之後變成 "0". (公式計算出來的值) 請問 : 有沒有辦法將 "0" 去掉? 讓沒有輸入資料的儲存格保持空白?

更新5:

謝謝你的補充回答, 加入 IF 函數之後確實能消除 "0" , 使總表中沒有輸入資料的儲存格在篩選分頁中保持空白. 但是, 另一個問題隨之而來, 在這個活頁檔案中, 目前在總表裡共有249筆資料, 並且整個完整表格涵蓋A~M欄, 並且為了日後輸入方便, 從第3行到第5000行都已經將下拉式清單及格式預先設定完成, 再依照需求另外做出19頁篩選活頁, 在每個篩選活頁中, A3 及B3~M3的工式都從第3行先拉到第200行, 不過, 檔案卻變得很大(7.06MB), 最重要的是在輸入資料時會一直重算儲存格, 而且要算很久(二十秒左右).

更新6:

請問 : 1. 是否有其他方式? 打沒兩個字一直重算儲存格很耗時間... 2. 還是我可以將這個檔案中的活頁分別儲存為不同檔案? 3. 如果需要儲存為不同檔案, 還會自動篩選嗎? 還是需要同時將檔案都開啟? 4. 篩選出來的分頁檔案的格式能夠與總表不同嗎?

更新7:

謝謝你的補充回答, 因為我不會使用巨集, 所以我用 樞紐分析表 製作表格, 目前已經弄好, 但是有點小問題請教: 1. 將所有列標籤依序選擇所有欄位之後, 樞紐功能表在列的部份共有13欄(A~M), 欄欄位和資料欄位的部分沒有任何資料, 但是欄欄位和資料欄位的表格仍舊存在, 我目前是使用 "隱藏" 的方式隱藏起來, 雖然完全沒用到欄欄位和資料欄位的部分, 但是好像沒辦法將之完全去除? 2. 目前表格使用順暢很多, 但是檔案仍有5.xMB, 如果我將它分成不同檔案以縮小檔案, 開啟所有使用樞紐分析表製作的分頁資料時, 會先重算及更新表格, 是否需要先將總表檔案開啟?

更新8:

除了 欄欄位 和 資料欄位 的雖然沒有資料表格仍舊存在之外, 分頁欄位也是一樣, 我目前都是將之 "隱藏" 起來. 樞紐分析表遇到總表中沒有資料的儲存格會顯示 "(空格)" 字串 ,請問是否有辦法消除? 讓沒有資料的儲存格真的保持空白?

回答 (4)

2010-11-29 2:35 am
✔ 最佳答案
sheet2 A1:F2與sheet1相同

H1儲存格輸入:木材

A3:{=IF(ROW()-2>COUNTIF(Sheet1!$C$3:$C$1000,$H$1),"",INDIRECT("'Sheet1'!A"&SMALL(IF(Sheet1!$C$3:$C$1000=$H$1, ROW(Sheet1!$C$3:$C$1000), 4^8),ROW()-2)))}

B3:=IF($A3<>"",VLOOKUP($A3,Sheet1!$A:$F,COLUMN(),FALSE),"")

將B3複製到C3:F3
再將A3:F3往下複製即可

其他工作表只要複製sheet2再將H1的值改成要分類的Model即可

A3公式中 { } 是在編輯狀態下按下Ctrl+Shift+Enter就會自動產生

2010-11-29 06:09:30 補充:
只要修正B3公式再複製到其他儲存格即可

B3公式:
=IF($A3<>"",IF(VLOOKUP($A3,Sheet1!$A:$G,COLUMN(),FALSE)="","",VLOOKUP($A3,Sheet1!$A:$G,COLUMN(),FALSE)),"")

2010-11-30 07:02:42 補充:
1. 是否有其他方式? 打沒兩個字一直重算儲存格很耗時間...
有,用樞紐分析表即可,但沒辦法做到全自動
要先取消合併儲存格,將標題填寫到A2:G2
插入樞紐分析表到新的工作表,範圍A2:G5000
列標籤依序選擇所有欄位,篩選Model為木材
取消顯示欄的總計

如果要求報表美觀,可以在右邊J:P5000另做表格
I3:P4為表頭
I5公式為:=IF(OR(A5="",A5="(空白)"),"",A5)
複製到其他儲存格即可
每次在sheet1輸入資料後,要逐一更新所有的樞紐分析表,可以設定樞紐分析表選項中,資料,檔案開啟時自動更新,這樣重新開啟檔案後就會更新。

2010-11-30 07:02:55 補充:
或是寫個巨集,假設工作表名稱分別為"木材";"鐵材"......,樞紐分析表的名稱皆是"樞紐分析表1"
Worksheets("木材").PivotTables("樞紐分析表1").PivotCache.Refresh
Worksheets("鐵材").PivotTables("樞紐分析表1").PivotCache.Refresh
……
設定一個按鈕連結到這個巨集即可

2. 還是我可以將這個檔案中的活頁分別儲存為不同檔案?
可以
3. 如果需要儲存為不同檔案, 還會自動篩選嗎? 還是需要同時將檔案都開啟?
兩個檔案要同時開啟才行
4. 篩選出來的分頁檔案的格式能夠與總表不同嗎?
可以
2010-11-29 6:01 am
合併儲存格,在資料表中,常造成極大的不便,
合併儲存格宜用在美化報表格式,不宜用椠資料表中
取消合併儲存格,諸多問題將自行化解
2010-11-29 12:38 am
版大的意思是分C欄類別,每一類就歸一頁吧!
自動篩選是可行的,但是不到最後關頭,不用合併儲存格以利處理。
2010-11-28 11:34 pm
既然C跟D兩欄已經設定好下拉式清單,不知版大要問的是什麼?


收錄日期: 2021-04-21 18:40:17
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20101128000016KK04502

檢視 Wayback Machine 備份