数据核对,这4个字,每到月初就压得大多数人喘不起来,货款要核定,订单要核对,支出也要核对,看到数据就头大。有粉丝问道:有简单的方法没有
用Deepseek啊!简单容易操作,30秒即可搞定!
一、数据准备
我们最好准备2个Excel表格,方便AI进行快速的核对,这2个表格的如果存在多个sheet,sheet的名称需要保持一致。不然得不到正确的结果,如果只有1个sheet则不需要特殊说明

二、文件上传
我们需要来到deepseek的官网中,之后在右下角点击【附件上传】将我们需要的Excel文件直接上传给deepseek,最后只需要在下方提出要求即可,大家可以参照我的提问。
最好是让它直接生成一个Excel文件,方便我们下载直接使用
我发现deepseek生成的Excel文件有时候国内用户无法直接下载,如果你出现这样的情况,可以考虑使用豆包,豆包都是可以下载的,结果基本都是一样的

三、代码核对
如果你的数据非常的敏感,无法上传,害怕文件出现泄漏,可以让Deepseek帮你生成一段VBA代码,用于数据的核对,如果你不想询问,就直接复制下方代码即可,根据提示来选择对应的表格即可
使用方法也非常的简单,按下ALT+F11调出窗口,右侧点击空白区域插入【模块】然后粘贴代码,点击运行,根据提示选择对应的2个表格即可。

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
发表评论 取消回复