如何在Excel中比较文本
Excel 用户经常需要比较单元格或列以检查单元格/列中是否存在相同的文本。
一个非常常见的示例是,当您的两列中有名称,并且您想要检查这些名称是否完全相同或一列中缺少哪些名称时。
在 Excel 中比较文本相当容易,可以通过简单的公式来实现。
在本教程中,我将向您展示如何 比较 Excel 中的文本 使用简单的算术运算符或 EXACT 函数。 我还将介绍如何比较两列中的文本以找出丢失的文本条目。
推荐:在Excel中找不到路径Runtime Error 76
比较 Excel 中的文本(精确单元格与单元格比较)
下面我有一个数据集,其中 A 列和 B 列都有名称,我想比较每行中的名称。 我想检查同一行中的名称是否相同。
让我们看一下完成此任务的两种简单方法。
使用等于运算符
等于运算符可以将一个单元格中的内容与另一个单元格中的内容进行匹配,如果单元格中的文本完全相同,则返回 TRUE;如果文本不相同,则返回 FALSE。
下面的公式将比较同一行中两个单元格中的文本:
=A2=B2
在单元格 C3 中输入此公式,然后将其复制并粘贴到所有单元格中。
如果存在完全匹配(意味着名称完全相同),则以上公式返回 TRUE;如果名称不匹配,则返回 FALSE
在上面的示例中,您可以看到公式在单元格 C6 和 C11 中返回 FALSE,这表明第 6 行和第 11 行中的名称不相同。
如果您只想查看名称不相同的行,可以在标题上应用过滤器,然后仅过滤 C 列中值为 FALSE 的单元格
笔记:要使公式返回 TRUE,单元格内容必须完全相同。 如果其中一个单元格中有多余的空格,虽然单元格可能看起来具有相同的名称,但公式将返回 FALSE。
当您使用等于运算符时,它不会考虑单元格中文本的大小写。
例如,如果一个单元格中有“James Baker”,另一个单元格中有“james Baker”,并且比较这两个单元格,则公式将返回 TRUE。
如果您希望比较区分大小写,请使用接下来介绍的 EXACT 函数方法。
使用 EXACT 函数
比较 Excel 中两个单元格中的文本的另一种简单方法是使用 EXACT 函数。
顾名思义,如果被比较的两个单元格的内容完全相同,则返回 TRUE;如果内容不相同,则返回 FALSE。
考虑到具有名称、A 列和 B 列的相同数据集,下面的公式将比较名称并给出结果
=EXACT(A2,B2)
在单元格 C3 中输入此公式,然后将其复制并粘贴到所有单元格中。
EXACT 函数将需要比较的单元格的单元格引用作为参数,如果存在完全匹配则返回 TRUE,如果不存在则返回 FALSE。
如果您使用的是具有动态数组的较新版本的 Excel,您还可以在单元格 C2 中使用以下公式(并且您不需要将公式复制并粘贴到其余单元格中,因为动态公式会溢出并自动填充其他单元格)
=EXACT(A2:A12,B2:B12)
请注意,EXACT 函数区分大小写,因此即使名称完全相同但大小写不同(小写、大写或正确),公式也会返回 FALSE。
使用 VLOOKUP 比较文本并查找丢失的文本
另一种现实生活中您可能需要比较文本的情况是,您有一个分为两列的列表,并且您想要找出一列中存在但另一列中缺少的项目/名称。
下面我有一个数据集,其中 A 列和 B 列中有一些名称,我想检查 A 列中的哪些名称也在 B 列中,以及哪些名称丢失
如果 A 列中的名称也出现在 B 列中,则下面的公式将为我们提供文本“存在”;如果 A 列中的名称不存在于 B 列中,则为我们提供“缺失”文本。
=IF(ISERROR(VLOOKUP(A2,$B$2:$B$9,1,0)),"Missing","Present")
在单元格 C3 中输入此公式,然后将其复制并粘贴到所有单元格中。
上面的公式使用 VLOOKUP 函数根据 B 列中的列表检查 A 列中的每个名称。
如果 VLOOKUP 公式找到该名称,它将返回该名称,如果没有找到该名称,它将返回#N/A! 错误
我没有将此 VLOOKUP 公式包含在 ISERROR 函数中,因此如果名称存在,它将返回 FALSE,如果名称缺失,它将返回 TRUE。
然后我将其包装在 IF 函数中,如果 A 列中的名称也在 B 列中,该函数会为我们提供文本“Present”,因为它返回文本“Missing”
您还可以使用类似的公式构造来检查 B 列中的名称是否存在于 A 列中(通过相应地调整公式)。
在此示例中,我使用 VLOOKUP 函数来比较两列中的文本,但这也可以使用其他公式(例如 INDEX/MATCH 或 XLOOKUP)来完成。
比较文本并检查部分文本是否匹配
我遇到的另一种常见情况是,人们想要将一个单元格中的文本与另一个单元格中的文本进行比较,但他们并不是在寻找精确的比较,而只需要检查一个单元格中的文本是否存在于另一个单元格中细胞与否。
下面我有一个数据集,其中 A 列和 B 列中有一些名称。
您会注意到,B 列中的姓名只是名字,A 列中的姓名是全名。
现在我想比较这两个名字,检查B列中的名字是否存在于A列中。
正如您所看到的,我不是在寻找精确的比较,而是在寻找部分文本匹配。
下面是可以为我做到这一点的公式:
=ISNUMBER(FIND(B2,A2))
在单元格 C3 中输入此公式,然后将其复制并粘贴到所有单元格中。
上面的公式使用 FIND 函数检查 B 列中的文本值是否存在于 A 列的单元格中。
如果 FIND 函数在 A 列中找到文本,它将返回该文本的起始位置(即,它将返回一个数值),如果找不到该文本,它将返回 VALUE 错误。
我将 FIND 函数包装在 ISNUMBER 函数中,如果 FIND 函数在 A 列中找到文本并返回一个值,则该函数将返回 TRUE,否则将返回 FALSE。
在本教程中,我介绍了一些简单的公式,您可以使用它们来快速比较 Excel 中的文本。
如果您希望将一个单元格与另一个单元格进行比较,可以使用等于运算符或 EXACT 函数。
如果您尝试比较两列,可以使用 VLOOKUP 函数。 最后,我还介绍了一种方法来向您展示如何使用查找函数比较部分文本。