首页 > 教程攻略 > ai资讯 >核对2个表格,Deepseek才是YYDS,看我30秒搞定!

核对2个表格,Deepseek才是YYDS,看我30秒搞定!

来源:互联网 时间:2026-06-22 17:59:07

每月初盯着两列Excel数据,反复核对到怀疑人生?这个场景,估计每个财务和运营岗的同学都不陌生。货款要核定,订单要核对,支出也得一笔笔对,光是想想就头皮发麻。有粉丝私下问过:有没有简单点的法子?

还真有,用Deepseek,30秒就能搞定。

核对2个表格,Deepseek才是YYDS,看我30秒搞定!

具体怎么操作?分三步走。

一、数据准备

最好准备两个Excel表格,这样AI核对起来又快又准。有个小细节需要注意:如果表格里包含多个工作表,这些工作表的名称必须保持一致,否则结果会出岔子。要是只有一个工作表,那就不需要额外说明了。

二、文件上传

打开Deepseek官网,在右下角找到【附件上传】按钮,把两个Excel文件一前一后传上去。接下来,在对话框里直接提要求就行。比如可以这样说:“请核对这两个表格的数据差异,并生成一个Excel文件供下载。” 我个人建议,让它直接生成一个Excel文件,下载后直接用,省事。

不过有一点得提醒你:Deepseek生成的Excel文件,有时候国内用户会遇到下载问题。如果真碰上了,不妨换成豆包试试,效果基本一样,关键是能正常下载。

三、代码核对

如果你的数据比较敏感,担心上传后会有泄漏风险,那换条路——让Deepseek帮你生成一段VBA代码,直接在本地运行核对。懒得问的话,直接把下面这段代码复制过去用就行。使用方法很简单:按下ALT+F11调出VBA编辑器,在右侧空白区域右键插入一个【模块】,把代码粘贴进去,然后点击运行,跟着提示选择需要核对的两个表格区域即可。

Sub CompareTables()
    Dim ws As Worksheet
    Dim rng1 As Range, rng2 As Range
    Dim headers1 As Range, headers2 As Range
    Dim colMap As Object
    Dim maxRows As Long, i As Long
    Dim diffCount As Long

    On Error Resume Next
    Set rng1 = Application.InputBox("选择第一个表格区域(包含表头)", "选择表1", Type:=8)
    If rng1 Is Nothing Then Exit Sub
    Set rng2 = Application.InputBox("选择第二个表格区域(包含表头)", "选择表2", Type:=8)
    If rng2 Is Nothing Then Exit Sub
    On Error GoTo 0

    Set colMap = CreateObject("Scripting.Dictionary")
    Set headers1 = rng1.Resize(1)
    Set headers2 = rng2.Resize(1)

    For Each cell In headers1.Cells
        Set found = headers2.Find(cell.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
        If Not found Is Nothing Then
            colMap(cell.Column - rng1.Column + 1) = found.Column - rng2.Column + 1
        End If
    Next

    rng1.Interior.ColorIndex = xlNone
    rng2.Interior.ColorIndex = xlNone

    maxRows = Application.Max(rng1.Rows.Count, rng2.Rows.Count)
    diffCount = 0

    For i = 2 To maxRows
        Dim isDiff As Boolean
        isDiff = False
        Dim hasRow1 As Boolean: hasRow1 = (i <= rng1.Rows.Count)
        Dim hasRow2 As Boolean: hasRow2 = (i <= rng2.Rows.Count)

        For Each Key In colMap.Keys()
            Dim val1, val2
            val1 = IIf(hasRow1, rng1.Cells(i, Key).Value, Null)
            val2 = IIf(hasRow2, rng2.Cells(i, colMap(Key)).Value, Null)
            If IsEmpty(val1) Then val1 = ""
            If IsEmpty(val2) Then val2 = ""
            If CStr(val1) <> CStr(val2) Then
                If hasRow1 Then rng1.Cells(i, Key).Interior.Color = RGB(255, 255, 0)
                If hasRow2 Then rng2.Cells(i, colMap(Key)).Interior.Color = RGB(255, 255, 0)
                isDiff = True
            End If
        Next

        If (hasRow1 Xor hasRow2) Then
            If hasRow1 Then rng1.Rows(i).Interior.Color = RGB(255, 0, 0)
            If hasRow2 Then rng2.Rows(i).Interior.Color = RGB(255, 0, 0)
            isDiff = True
        End If

        If isDiff Then diffCount = diffCount + 1
    Next

    MsgBox "比较完成!" & vbCrLf & _
           "总差异行数:" & diffCount & vbCrLf & _
           "黄色标记:字段不匹配" & vbCrLf & _
           "红色标记:行缺失", _
           vbInformation, "比对结果"
End Sub

代码跑完后,Excel会弹出一个结果提示框:黄色标记表示字段不匹配,红色标记表示某行数据缺失。这样一来,哪些地方有问题,一目了然。

说到底,工具是死的,用对方法才是关键。下次再被月底核对手忙脚乱的时候,记得试试Deepseek。

相关下载