excel多条件匹配跨表,写一个excel函数,通过两个表的商品ID,sku,标题,来匹配品类
时间: 2024-02-27 21:54:23 浏览: 212
以下是一个Excel函数,在两个表格中匹配商品ID、SKU和标题,并返回匹配的品类:
```
Function MatchCategory(productId As String, sku As String, title As String) As String
Dim ws1 As Worksheet, ws2 As Worksheet
Dim lastRow1 As Long, lastRow2 As Long
Dim i As Long, j As Long
Set ws1 = Worksheets("Sheet1") ' 第一个表格
Set ws2 = Worksheets("Sheet2") ' 第二个表格
lastRow1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row ' 第一个表格最后一行
lastRow2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row ' 第二个表格最后一行
For i = 2 To lastRow1 ' 遍历第一个表格
For j = 2 To lastRow2 ' 遍历第二个表格
If ws1.Cells(i, 1).Value = productId And ws1.Cells(i, 2).Value = sku And ws1.Cells(i, 3).Value = title And ws2.Cells(j, 1).Value = productId And ws2.Cells(j, 2).Value = sku And ws2.Cells(j, 3).Value = title Then ' 匹配条件
MatchCategory = ws2.Cells(j, 4).Value ' 返回品类
Exit Function ' 退出函数
End If
Next j
Next i
MatchCategory = "" ' 如果没有匹配成功,则返回空字符串
End Function
```
在这个函数中,我们首先定义了两个工作表对象ws1和ws2,然后获取了它们的最后一行行号。然后,我们使用两个嵌套的for循环来遍历两个表格。在内部循环中,我们使用If语句来检查是否存在匹配条件。如果找到了匹配的条件,则返回品类。如果没有找到匹配条件,则返回空字符串。
请注意,在使用此函数之前,您需要将工作表名称“Sheet1”和“Sheet2”更改为您实际使用的工作表名称。
阅读全文