Vlookup函數應用

2013-05-10 4:28 pm
=VLOOKUP(A1,F1:G7,2,0)
1 11
2 22
2 9
2 8
3 33
5 55
5 55
這樣的公式只能取得索引值的第一個值22,那如果要取得兩個或以上的值
有什麼簡單或沿用VLOOKUP函數的公式嗎?
主要是要取得索引參照位置的兩個或以上的值。
需要結果:
1 11
2 22
2 9
2 8
3 33
4 44
5 55
OR:
1 11
2 22,9,8
3 33
4 44
5 55

回答 (4)

2013-05-21 5:57 am
✔ 最佳答案
兩種方法:
1.增設一欄輔助欄提供索引得到結果
2.使用陣列公式得到結果

2013-05-10 12:50:51 補充:
輔助欄、陣列公式應用圖例:
http://ypix.me/GV4m/

2013-05-15 11:06:01 補充:
僅能設輔助欄來協助搜尋+合併資料置於1個欄位裡:

http://www.funp.net/701660

若多張工作表則延伸輔助欄設立,除此可能無更佳辦法解決

2013-05-20 21:57:56 補充:
thanks !

增加輔助欄協助索引相同編號多項對應值,最後再另建一欄給予 CONCATENATE() 函數合併輔助欄資料:

=IF(COLUMN()=5,INDEX(去年資料!$C$2:$C$999,SMALL(IF(去年資料!$A$2:$A$999=$A2,ROW(去年資料!$A$2:$A$999)-1,4^9),COLUMN(A1))),IF(COUNTIF(去年資料!$A:$A,$A2)>=COLUMN(A1),","&INDEX(去年資料!$C$2:$C$999,SMALL(IF(去年資料!$A$2:$A$999=$A2,ROW(去年資料!$A$2:$A$999)-1,4^9),COLUMN(A1))),""))

公式縮減些:
=IF(COUNTIF(去年資料!$A:$A,$A2)>=COLUMN(A1),IF(COLUMN()=5,"",",")&INDEX(去年資料!$C:$C,SMALL(IF(去年資料!$A$1:$A$999=$A2,ROW(去年資料!$A$1:$A$999),4^9),COLUMN(A1))),"")

◆ EXCEL陣列公式比對參照索引 ◆

2013-05-20 22:00:48 補充:
PS:以上公式為陣列公式。
2013-05-11 6:40 pm
E3:H7{=INDEX($B:$B,SMALL(IF($A$1:$A$7=$D1,ROW($A$1:$A$7),4^8),COLUMN(A1)))&"" 陣列公式 右拉三格再下拉
A1:B7資料 D1:D5(1~5)
1 11
2 22,9,8
3 33
4 44
5 55

2013-05-11 15:53:40 補充:
F3:F9{=INT(VLOOKUP(E3+ROW(E3)/100,B$3:C$9+ROW(B$3:C$9)/100,2,TRUE)) 陣列公式 下拉
B3:C9資料 E3:E9與B欄相同 作VLOOKUP的KEY F3:F9程式
版面問題 歡迎至 YAHOO EXCEL迷 部落格指教 編號 (256)
1--11
2--22
2--9
2--8
3--33
4--44
5--55

:

2013-05-13 20:46:07 補充:
有三個重覆 所以全部加序號/100-->1.03; 2.04; 2.05; 2.06; 3.07---索引可以區別避重覆

2013-05-14 16:14:19 補充:
=VLOOKUP(A2,去年資料!A$2:C$229,3,)

2013-05-15 14:14:50 補充:
S2=U2&V2&W2&X2&Y2&Z2
T2=MATCH(A2,去年資料!A:A,)
U2=INDEX(去年資料!C:C,$T2)
V2=IF($T2+COLUMN(A1)<$T3,","&INDEX(去年資料!$C:$C,$T2+COLUMN(A1)),"")
S .T .U欄下拉 V欄右拉四格再下拉 試試看
2013-05-10 7:49 pm
E1=INDEX(A:A,SMALL(IF(MATCH($A$1:$A$100&$D$1:$D$100,$A$1:$A$100&$D$1:$D$100,)=ROW($1:$100),ROW($1:$100),99),ROW(1:1)))
陣列公式ctrl+shift+enter鍵往下填滿
F1=IF(COUNTIF($A:$A,$E1)>=COLUMN(A1),INDEX($B:$B,SMALL(IF($A$1:$A$100=$E1,ROW($1:$100),4^8),COLUMN(A:A))),"")
陣列公式ctrl+shift+enter鍵往右往下填滿

2013-05-14 08:58:10 補充:
建議版主,能PO個檔案,這樣會比較清礎,免得大家費疑猜!
2013-05-10 7:43 pm
有沒有實際的範例可以比較好懂?

2013-05-10 16:40:07 補充:
謝謝寧靜大河提供的做法,可是結果並不是我想要的,
我想要的是利用Vlookup取得索引參照的值,然後輸出
到同一個欄位或旁邊的欄位,主要是因為資料有很多筆。

比如說我要用今年的資料比對去年的資料,利用編號去
取得相同編號的值,今年的編號可能只有一筆資料,可
是去年的編號有兩筆或以上的資料,就需要將這些資料
一併輸出到今年的編號欄位。

2013-05-10 16:40:18 補充:
我是有用這樣的方法取得兩筆資料,可是兩筆以上就無
法解決了:
=IF(VLOOKUP(B2,'(85-91'!$B$2:$I$254,7,0)=VLOOKUP(B2,'(85-91$B$2:$I$254,7,1),VLOOKUP(B2,'85-91'!$B$2:$I$254,7,0),VLOOKUP(B2,'101.102.!$B$2:$I$254,7,0)&VLOOKUP(B2,'102.3.21'!$B$2:$I$254,7,1))
看還有什麼辦法,可以解決這個問題!

2013-05-13 09:45:25 補充:
謝謝Excel迷大的作法,但結果好像也不太符合我要的答案,
最好還是附上圖解比較易懂,還有那個索引欄位,是固定的
例如是身分證字號,只有參照的欄位會變動,而且是多筆資
料的比對。

2013-05-14 08:26:41 補充:
可是結果並非是我要的!你這樣輸出的結果是?

2013-05-14 13:00:29 補充:
http://ultrashare.net/hosting/fl/c632f4b00a/Vlookup

2013-05-15 08:10:42 補充:
你有看懂我的問題嗎?

2013-05-20 09:00:02 補充:
謝謝寧靜大的做法,請上台發表吧!也謝謝其他人提供的知識!


收錄日期: 2021-04-27 20:16:26
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20130510000016KK00572

檢視 Wayback Machine 備份