Re: [算表] 儲存格將所要內容挑出自動分類

看板Office作者 (Akane)時間11年前 (2014/11/21 21:39), 編輯推噓0(0016)
留言16則, 1人參與, 最新討論串3/3 (看更多)
感謝大大的協助 我把檔案下載下來研究了, 輔助格的辦法很方便呢 將全體資料與所需資料比對, 在不符合的儲存格後面加記號 * 然後再用簡單篩選功能, 點選*, 就可以將不符合的儲存格全部列出, 真是個好方法 其餘的數量及價格部分, 我再由vlookup函數代入即可 =IF(ISNA(MATCH(A2;F$1:F$100;0));"*";"") 不過在函數設定部分, 我有點不懂呢~~ 可否講解一下下~~ 1. ISNA 當引數中之值為 #N/A (找不到適合之值) 時,傳回邏輯值 TRUE http://imil.au.edu.tw/~hsichcl/Excel/Unit3/excel3_6_6_1.htm 依照這網頁範例, 為何中間多一個0? 然後後面又重複一次VLOOKUP的設定呢? 2. MATCH 函數設定中, A2為所要驗證資料, F1~F10為查找範圍, ;後面的0是甚麼呢? 3. 然後 ;"*";"" 為何要這樣設呢? 接著, 我篩選輔助欄為*條件後, 結果如下 都是與match查找範圍中不相符的儲存格 儲存格 A B C D 名稱 數量 價格 輔助欄 1 ABA13 456 7658564 * 2 BCA22 356 79768542 * 3 EJW23 678 5465657 * 4 AAA75 865 3657 * 5 DGR45 6867 8956 * 6 CCC82 684 5478 * 7 DDD39 3455 7876 * 8 AAA13 347 86564 * 9 KWR34 8655 796 * 10 CCB34 233 5655444 * 11 AAA48 3455 7876 * 12 CCC27 347 86564 * 13 DDD37 865 3657 * 14 BBB73 967 58760 * 15 CCC25 3455 7876 * 16 FKQ12 368 46547 * 那我可以另外設條件, 在此範圍內, 儲存格內容有特定文字的, 會剪下到另外的儲存格嗎? 假如我要把儲存格內有AAA的剪下, 到另外儲存格當中, 就會變成 A B C D 名稱 數量 價格 輔助欄 50 AAA75 865 3657 * 51 AAA13 347 86564 * 52 AAA48 3455 7876 * 而原來的A4, A8, A11就會變空白, 或是由下往上補滿 這樣的話, 我的A50~A51儲存格要怎麼設定函數呢? 請再指點指點一下, 謝謝 ※ 引述《naobaby (Akane)》之銘言: : 謝謝提供的連結, 檔案下載下來研究了 : 但是資質駑鈍真的看不太懂, 後來我又想到一個方式 : 全部資料庫轉出資料 : 儲存格 : A B C : 名稱 數量 價格 : 1 ABA13 456 7658564 : 2 BCA22 356 79768542 : 3 EJW23 678 5465657 : 4 CCB34 233 5655444 : 5 DGR45 6867 8956 : 6 DDD44 834 98742 : 7 CCC33 3547 78543 : 8 AAA11 673 354667 : 9 FKQ12 356 6768963 : 10 KWR34 487 35489 : 11 BBB22 346 5658 : 這是我要的標準規格資料 : 名稱是預設值, 我就是要抓出這些資料 : 儲存格 : D E F : 名稱 數量 價格 : 1 AAA11 數量及價格的數字 : 2 BBB22 我用vlookup功能 : 3 CCC33 可從資料庫轉出資料代入 : 4 DDD44 : 5 EEE55 : 6 FFF66 : 7 GGG77 : 8 HHH88 : 9 .........我要的標準品名 : 10 : 11 : 接著是挑選後剩下的資料 : 儲存格 : G H I : 名稱 數量 價格 : 1 ABA13 數量及價格的數字 : 2 BCA22 我還是用vlookup功能 : 3 EJW23 從資料庫轉出資料代入 : 4 CCB34 : 5 DGR45 : 6 FKQ12 : 7 KWR34 : 簡單的說, G1~G7這一行儲存格的來源, 是A1~A11 剔除了 D1~D11的資料 : 這樣的話, G這一行儲存格要如何設函數呢? : 是用IF, 還是用IFERROR?? 還是 INDEX??? 或是有其他解法 : 請高手再給予指點指點 謝謝 : ※ 引述《naobaby (Akane)》之銘言: : : 軟體: office : : 版本: 2013 : : 從資料庫轉出的資料如下 : : 名稱 數量 價格 : : ABA13 456 7658564 : : BCA22 356 79768542 : : EJW23 678 5465657 : : CCB34 233 5655444 : : DGR45 6867 8956 : : DDD44 834 98742 : : CCC33 3547 78543 : : AAA11 673 354667 : : FKQ12 356 6768963 : : KWR34 487 35489 : : BBB22 346 5658 : : 想要把儲存格資料挑出所需部分 : : 我想要的是 AAA11, BBB22, CCC33, DDD44.....類推, 會把我想要的全列在欄位中 : : 變成 : : 主要需要的 篩選剩下的 : : 名稱 數量 價格 名稱 數量 價格 : : AAA11 673 354667 ABA13 456 7658564 : : BBB22 346 5658 BCA22 356 79768542 : : CCC33 3547 78543 EJW23 678 5465657 : : DDD44 834 98742 CCB34 233 5655444 : : DGR45 6867 8956 : : FKQ12 356 6768963 : : KWR34 487 35489 : : 請問這樣的函數要怎麼設呢? : : 還是有其他解呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.26.110.164 ※ 文章網址: http://www.ptt.cc/bbs/Office/M.1416577177.A.686.html

11/21 21:45, , 1F
問題1,中間多一個是配合if,當isna為錯誤時為0
11/21 21:45, 1F

11/21 21:46, , 2F
重複一次是因為isna所包的vlookup只是用來判斷是否為錯誤
11/21 21:46, 2F

11/21 21:47, , 3F
所以當不為錯誤時,才又跑到vlookup來參照出正確的資料
11/21 21:47, 3F

11/21 21:48, , 4F
這在2003(含)以前版本會這樣寫,2007(含)以後則以iferror
11/21 21:48, 4F

11/21 21:49, , 5F
就可不重複
11/21 21:49, 5F

11/21 21:51, , 6F
問題2 ,後面的0為if為isna()為真時的結果值
11/21 21:51, 6F

11/21 21:52, , 7F
抱歉問題2是針對=IF(ISNA(MATCH(A2,F$1:F$100,0)),"*","")
11/21 21:52, 7F

11/21 21:54, , 8F
這裡的0也可以打false,是指會找完全符合的值
11/21 21:54, 8F

11/21 21:55, , 9F
,"*","" 這樣設只是習慣方式區別而已,可另修改其他區別字
11/21 21:55, 9F

11/21 21:55, , 10F
11/21 21:55, 10F

11/21 22:03, , 11F
特定文字,"剪下"來看,反視為將輔助欄="*"且排除名稱="AA
11/21 22:03, 11F

11/21 22:04, , 12F
A*",將以上判斷抓出的資料到另一個新的資料範圍
11/21 22:04, 12F

11/21 22:05, , 13F
也就不會變成空白
11/21 22:05, 13F

11/21 22:31, , 14F
11/21 22:31, 14F

11/21 22:37, , 15F
另新增陣列公式上面連結http://goo.gl/ksNI0j重下
11/21 22:37, 15F

11/21 22:53, , 16F
如要用動態範圍的話也可以參考http://goo.gl/YFTVCG
11/21 22:53, 16F
文章代碼(AID): #1KRq2PQ6 (Office)
文章代碼(AID): #1KRq2PQ6 (Office)