vlookup可否列出重複key全部的值
例如:我有兩個工作表(總表及五月份)
我在\"總表\"欄位B使用此函式
=IF(ISERROR(VLOOKUP(A2,五月份!$A:$B,2,FALSE)),\"0\",VLOOKUP(A2,五月份!$A:$B,2,FALSE))
------總表--------------------五月份------------得出----------------總表
-A------------B-------------A--------B-------------→-----------A------------B
廠商-----交易量--------廠商----交易量-----------------------廠商------交易量
A----------10-------------B--------50---------------------------A-----------10
B----------50-------------E--------12----------------------------B------------50
C----------0--------------A-------10----------------------------C------------0
D----------65-------------B------- 80----------------------------D-----------65
E----------12-------------D------- 65----------------------------E------------12
F-----------0-------------A--------20----------------------------F------------0
可是我想得出的是以下的結果,列出重複key的值,中間用全形;區分
---------總表
------A-------B
----廠商--交易量
-----A------10;20
-----B------50;80
-----C------0
-----D------65
-----E------12
-----F------0
vlookup可達成嗎…或者用什麼方法可達成?… 謝謝~
2006-05-10 07:22:38 · 2 個解答 · 發問者 lihang 1 in 電腦與網際網路 ➔ 軟體
bug..
謝謝你… 照你的方式我試出來了!
但還有一個問題是因為我的比對資料大約有3萬多筆
用此方式會跑很慢或當掉…
還有其他更好的方式嗎?…
2006-05-11 06:04:53 · update #1
vlookup沒有這麼厲害
建議使用VBA寫程式來做
Sub t()
i = 2
Do While (Sheets("五月份").Cells(i, 1) <> "")
j = 2
Do While (Sheets("總表").Cells(j, 1) <> "")
If Sheets("總表").Cells(j, 1) = Sheets("五月份").Cells(i, 1) Then
If Sheets("總表").Cells(j, 2) <> "" Then
Sheets("總表").Cells(j, 2) = CStr(Sheets("總表").Cells(j, 2)) + ";"
End If
Sheets("總表").Cells(j, 2) = Sheets("總表").Cells(j, 2) + CStr(Sheets("五月份").Cells(i, 2))
Exit Do
Else
j = j + 1
End If
Loop
i = i + 1
Loop
End Sub
2006-05-13 15:23:36 補充:
我不曉得你有這麼多筆,我多了幾行可以跑比較快的程式碼,我也自己試過,跑三萬筆大概十分鐘左右可以比對完,算是很快的了。t2()另外我也用了另一個方法,先進行排序再進行比對,理論上會快上許多,不過資料就會被排序了。你可以試試看 t3()也有將全部讀進記憶體再進行比對的方法,我想大概就用不到了。這邊補充有字數限制,所以我將程式碼貼在我的bloghttp://blog.xuite.net/commiserate/internet/6390481
2006-05-10 17:55:18 · answer #1 · answered by Bug 4 · 0⤊ 0⤋
我想也是
2006-05-12 19:32:48 · answer #2 · answered by 迷路山羊 6 · 0⤊ 0⤋