EXCEL中的查找问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:52:07
在表1中,A列为代码,且是唯一值,无重复。
表2中A列也是代码,但表2中的代码有重复,不是唯一值,且在B列,有不同的单号。
问题,如何按照表1中的代码,把表2中对应的不同单号,放到表1中的B列和C列,依此类推。

用VBA实现,代码如下:
Sub tty()
Dim i, j, k As Integer
Dim st1(10000), st2(10000) As String
For i = 1 To 10000
st1(i) = RTrim(LTrim(Sheet1.Cells(i, 1)))
st2(i) = RTrim(LTrim(Sheet2.Cells(i, 1)))
Next i
For i = 1 To 10000
k = 2
For j = 1 To 10000
If st1(i) = st2(j) And st1(i) <> "" Then
Sheet1.Cells(i, k) = Sheet2.Cells(j, 2)
k = k + 1
End If
Next j
Next i
End Sub

在B1输入: =IF(ISERROR(INDEX(Sheet2!$B$1:$B$8,SMALL(IF(Sheet2!$A$1:$A$8=Sheet1!$A1,ROW(Sheet2!$A$1:$A$8),65536),1))),"",INDEX(Sheet2!$B$1:$B$8,SMALL(IF(Sheet2!$A$1:$A$8=Sheet1!$A1,ROW(Sheet2!$A$1:$A$8),65536),1)))
向下拉;
在C1输入: =IF(ISERROR(INDEX(Sheet2!$B$1:$B$8,SMALL(IF(Sheet2!$A$1:$A$8=Sheet1!$A1,ROW(Sheet2!$A$1:$A$8),65536),2))),"",INDEX(Sheet2!$B$1:$B$8,SMALL(IF(Sheet2!$A$1:$A$8=Sheet1!$A1,ROW(Sheet2!$A$1:$A$8),65536),2)))

在D1输入同样的公式,只要将2改成3,依次顺推……

以上