Re: [算表] 在不同工作表中抓取資料

看板Office作者 (windknife18)時間14年前 (2011/11/26 00:07), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
可以參考這個方法囉 =VLOOKUP(C6,INDIRECT("'"&INDEX({"Sheet1";"Sheet2";"Sheet3"}, MATCH(1,--(COUNTIF(INDIRECT("'"&{"Sheet1";"Sheet2";"Sheet3"}&"'!A1:A500"), C6)>0),0))&"'!A1:B500"),2,0) 如果你的工作表名稱都是Sheet加數字可以改成 =VLOOKUP(C6,INDIRECT("'Sheet"&INDEX({1;2;3},MATCH(1,--(COUNTIF( INDIRECT("'Sheet"&{1;2;3}&"'!A1:A500"),C6)>0),0))&"'!A1:B500"),2,0) ※ 引述《EM (神!速!愛!)》之銘言: : 軟體: EXCEL : 版本:2003 : 小弟遇到一個問題,想請問版上各位高手如何解決, : 假設資料如下, : Sheet1 Sheet2 Sheet3 : A B A B A B : 1 a 11 1 d 44 1 g 77 : 2 b 22 2 e 55 2 h 88 : 3 c 33 3 f 66 3 i 99 : 希望能夠輸入a就帶出11,輸入e帶出55,輸入g帶出77, : a,b,c~i原則上不會重複,只會在一個sheet出現一次 : 也不會在不同的sheet重複出現 : 有點像vlookup的功能,但是要比對的範圍卻在不同的工作表 : 我原本寫的公式如下(假設在cell C6輸入input a,e or g) : =SUM( : IF(ISERROR(VLOOKUP(C6,Sheet1!A1:B3,2,FALSE)),0, : VLOOKUP(C6,Sheet1!A1:B3,2,FALSE)), : IF(ISERROR(VLOOKUP(C6,Sheet2!A1:B3,2,FALSE)),0, : VLOOKUP(C6,Sheet2!A1:B3,2,FALSE)), : IF(ISERROR(VLOOKUP(C6,Sheet3!A1:B3,2,FALSE)),0, : VLOOKUP(C6,Sheet3!A1:B3,2,FALSE)) : ) : 但是實際上原始資料有將近20個sheets, : 用這個方式處理會出現公式太長的訊息; : 所以想請問是否能在不使用巨集,不用輔助欄的的情況下直接透過公式處理? : 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.146.144

11/26 00:21, , 1F
太威了!
11/26 00:21, 1F

11/26 22:59, , 2F
感謝!!!
11/26 22:59, 2F
文章代碼(AID): #1EpxrGGu (Office)
討論串 (同標題文章)
文章代碼(AID): #1EpxrGGu (Office)