如何模糊匹配两个EXCEL表中数据的关键字?

我有两张表。表1中A2列里有数据打老虎,打松鼠,打武松表2中D5列里有数据今晚打老虎,明晚打松鼠,后天什么都不打,以前打武松。想匹配以后,在表1中增加A3列,输出有没有跟... 我有两张表。
表1中 A2列里有数据 打老虎,打松鼠,打武松
表2中 D5列里有数据 今晚打老虎,明晚打松鼠,后天什么都不打,以前打武松。
想匹配以后,在表1中增加A3列,输出有没有跟表2能模糊匹配的数据,有就填1,没就填0。其实意思差不多就行,不知道怎么写代码,用什么函数。求高手指点
展开
 我来答
小圆帽聊汽车
高粉答主

2019-05-14 · 致力于汽车领域知识的解答
小圆帽聊汽车
采纳数:796 获赞数:270536

向TA提问 私信TA
展开全部

1、首先打开需要收索的Excel文件,这里面有很多表单,我们随便选择其中的一个即可。点击菜单栏上的“查找和选择”,选取“查找”按钮。或者打开表单后直接按Ctrl+F。

2、在查找对话框右下角有个“选项”按钮,我们点击“选项”按钮。

3、点击“选项”按钮会,会显示出对查找操作的一些设置,例如搜索范围,搜索形式等,这里我们将搜索范围设置成“工作簿”。

4、然后可以在查找内容栏目里输入需要搜索的内容,然后点击“查找下一条”或者“查找全部”。

5、我们就能看到系统自动在所有表单中进行搜索,并显示了第一条搜索出来的记录。

6、继续点击“查找下一条”,系统会自动检索下一条匹配的记录,直至全部显示后再次循环。

dly736
2015-12-22 · TA获得超过255个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:421万
展开全部

1.通过要进行对比的两个工作表或多个工作表位于不同的文件中,首先要做的就是当多个要进行对比的Excel工作表数据复制粘贴到同一个工作表中,同时做好各个工作表的命名准备,以便能正确的区分数据的来源。

2.接下来确定数据“关键字”部分,即能够唯一标识记录的关键字组合,这样就可以在进行数据对比时,能够唯一的标记一条记录。比如,如图所示的“ID”和“姓名”就可以唯一标识一条记录。

3.接下来,还要确定一下,各个工作表数据行的范围以及要进行对比的关键字所在的位置信息。如图可知,

员工基础报表中数据范围为“3至12行”,关键字所在的位置为(i行1列)和(i行2列)。

员工待遇统计表中数据范围为“3至11行”,关键字所在的位置为(i行1列)和(i行2列)。

4.要做的就是从表1中找出表2中已经存在的记录,并且做好相应的标记,以便供查看。为此,按键盘上的快捷组合键“Alt+F11”进入VBA编辑模式。或者切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA环境。

有关“开发工具”选项卡的打开方法请参考栏目二部分。

5.右击“Microsoft Excel对象”,从弹出的右键菜单中选择“插入”->“模块”项。

6.接着输入如图所示的代码:

Sub 数据对比()

    Dim i As Integer

    Dim j As Integer    

    For i = 3 To 12        '员工基础报表数据范围

        For j = 3 To 11    '员工待遇统计表数据范围

         If Sheets("员工基础报表").Cells(i, 1) = Sheets("员工待遇统计表").Cells(j, 1) Then

            If Sheets("员工基础报表").Cells(i, 2) = Sheets("员工待遇统计表").Cells(j, 2) Then

               Sheets("员工基础报表").Cells(i, 8) = "已存在"   '存在时进行标记

            End If

         End If

        Next j

    Next i

End Sub

7.然后点击工具栏上的“调试运行”按钮。

8.待子过程运行结束后,返回Excel工作表进行查看,就会发现对比结果已经出来啦。基于此,可以进行更近一步的数据处理操作。顺便也将另一张工作表中的记录一同展示出来,以供参考。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
动漫行家
2016-01-26 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:89%
帮助的人:786万
展开全部

1.通过要进行对比的两个工作表或多个工作表位于不同的文件中,首先要做的就是当多个要进行对比的Excel工作表数据复制粘贴到同一个工作表中,同时做好各个工作表的命名准备,以便能正确的区分数据的来源。

2.接下来确定数据“关键字”部分,即能够唯一标识记录的关键字组合,这样就可以在进行数据对比时,能够唯一的标记一条记录。比如,如图所示的“ID”和“姓名”就可以唯一标识一条记录。

3.接下来,还要确定一下,各个工作表数据行的范围以及要进行对比的关键字所在的位置信息。如图可知,

员工基础报表中数据范围为“3至12行”,关键字所在的位置为(i行1列)和(i行2列)。

员工待遇统计表中数据范围为“3至11行”,关键字所在的位置为(i行1列)和(i行2列)。

4.要做的就是从表1中找出表2中已经存在的记录,并且做好相应的标记,以便供查看。为此,按键盘上的快捷组合键“Alt+F11”进入VBA编辑模式。或者切换至“开发工具”选项卡,点击“Visual Basic”按钮进入VBA环境。

有关“开发工具”选项卡的打开方法请参考栏目二部分。

5.右击“Microsoft Excel对象”,从弹出的右键菜单中选择“插入”->“模块”项。

6.接着输入如图所示的代码:

Sub 数据对比()

    Dim i As Integer

    Dim j As Integer    

    For i = 3 To 12        '员工基础报表数据范围

        For j = 3 To 11    '员工待遇统计表数据范围

         If Sheets("员工基础报表").Cells(i, 1) = Sheets("员工待遇统计表").Cells(j, 1) Then

            If Sheets("员工基础报表").Cells(i, 2) = Sheets("员工待遇统计表").Cells(j, 2) Then

               Sheets("员工基础报表").Cells(i, 8) = "已存在"   '存在时进行标记

            End If

         End If

        Next j

    Next i

End Sub


7.然后点击工具栏上的“调试运行”按钮。

8.待子过程运行结束后,返回Excel工作表进行查看,就会发现对比结果已经出来啦。基于此,可以进行更近一步的数据处理操作。顺便也将另一张工作表中的记录一同展示出来,以供参考。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jjchangyuan
推荐于2017-09-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:4278
采纳率:90%
帮助的人:1089万
展开全部
=IF(SUM(N(ISNUMBER(FIND(MID(A2,1+4*(ROW(1:3)-1),3),Sheet2!D5)))),1,0) 按组合键ctrl+shift+enter结束公式输入
更多追问追答
追问
这么复杂?不会吧,我完全看不懂啊,这……只要D里面包含A就可以了
追答
你试试看,这样才符合要求。D5中的数据只要包含A2“打老虎、打松鼠、打武松”三个中的任何一个,公式就给出1,否则给出0.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
m19780904
2013-03-15 · TA获得超过259个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:222万
展开全部
你今晚打老虎,明晚打松鼠,后天什么都不打,以前打武松.
仇敌太多,请带安全罩或向我学铁布三.
追问
这只是表的一部分,你救不了我的
追答
我不会功夫.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式