You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用公式或VBA实现Sheet1与Sheet2多列匹配并同步数据至Sheet3?

解决方案:Excel 跨表匹配与行复制需求

一、公式实现步骤

1. 填充Sheet1的J列匹配结果

在Sheet1的J2单元格输入以下公式,下拉填充至所有数据行:

=IF(OR(E2=Sheet2!C2,F2=Sheet2!D2,G2=Sheet2!E2,H2=Sheet2!F2,I2=Sheet2!G2),Sheet2!H2,"")

该公式通过OR函数判断当前行E-I列与Sheet2对应行C-G列是否存在任意匹配单元格,匹配则返回Sheet2对应行H列内容,否则返回空值。

2. 将匹配行复制到Sheet3

方法1:手动筛选复制

  • 选中Sheet1的J列,点击「数据」选项卡的「筛选」按钮
  • 点击J列筛选箭头,取消勾选「空白」,选中所有可见行
  • 复制选中行,粘贴到Sheet3的起始行(如A1)

方法2:数组公式自动提取

在Sheet3的A2单元格输入以下数组公式(输入完成后按Ctrl+Shift+Enter确认),横向拖动填充至所有列后下拉:

=INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$J:$J<>"",ROW(Sheet1!$J:$J)),ROW(A1)))

此公式会自动提取Sheet1中J列不为空的行,按顺序填充到Sheet3中。

二、VBA代码实现(一键完成所有操作)

按下Alt+F11打开VBA编辑器,插入新模块并粘贴以下代码:

Sub MatchAndCopyRows()
    Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
    Dim lastRow1 As Long, lastRow3 As Long
    Dim i As Long
    
    ' 定义工作表对象
    Set ws1 = ThisWorkbook.Sheets("Sheet1")
    Set ws2 = ThisWorkbook.Sheets("Sheet2")
    Set ws3 = ThisWorkbook.Sheets("Sheet3")
    
    ' 清空Sheet3原有数据(不需要可注释此行)
    ws3.Cells.Clear
    
    ' 获取Sheet1最后一行行号
    lastRow1 = ws1.Cells(ws1.Rows.Count, "E").End(xlUp).Row
    
    ' 遍历数据行(假设第1行为表头,从第2行开始)
    For i = 2 To lastRow1
        ' 判断是否存在匹配单元格
        If ws1.Cells(i, "E") = ws2.Cells(i, "C") _
        Or ws1.Cells(i, "F") = ws2.Cells(i, "D") _
        Or ws1.Cells(i, "G") = ws2.Cells(i, "E") _
        Or ws1.Cells(i, "H") = ws2.Cells(i, "F") _
        Or ws1.Cells(i, "I") = ws2.Cells(i, "G") Then
            
            ' 写入Sheet2的H列内容到Sheet1的J列
            ws1.Cells(i, "J") = ws2.Cells(i, "H")
            
            ' 复制当前行到Sheet3末尾
            lastRow3 = ws3.Cells(ws3.Rows.Count, "A").End(xlUp).Row + 1
            ws1.Rows(i).Copy Destination:=ws3.Rows(lastRow3)
        End If
    Next i
    
    MsgBox "匹配与复制操作已完成!"
End Sub

代码说明

  • 自动遍历Sheet1所有数据行,判断对应列的匹配情况
  • 满足条件时自动填充Sheet1的J列,并将该行复制到Sheet3
  • 若表头不是第1行,修改For i = 2 To lastRow1中的起始行号即可

内容的提问来源于stack exchange,提问作者sipirili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:39:55