搜索
首页专题excelexcel如果部分文本匹配(通配符)

试图用通配符文本构建IF语句,但每次都会失败?问题不在您的公式中,而是在功能本身中 - 如果不支持通配符字符,则表现出色。但是,有一种方法可以使其用于部分文本匹配,本教程将教您如何处理。

每当您想在Excel中进行部分或模糊匹配时,最明显的解决方案就是使用通配符。但是,如果您需要使用的特定功能不支持通配符字符怎么办?可悲的是,如果是这样的功能之一。考虑到其他“条件”功能(例如Countif,sumif和平均水平)与通配符非常好,这尤其令人失望。

幸运的是,这不是可以阻止创意Excel用户的障碍:)通过将其与其他功能相结合,您可以强迫它评估部分匹配,并获得excel的不错替代方法,即如果是通配符公式,则可以将其替换为Excel。

为什么在通配符不起作用的情况下表现出色

在下面的示例表中,假设您要检查第一列中的ID是否包含字母“ A”。如果找到 - 在B列中显示“是”,如果不是 - 显示“否”。

似乎在逻辑测试中包含通配符文本将是一个简单的解决方案:

=IF(A2="*a*","Yes", "No")

但是遗憾的是,它行不通。该公式返回所有单元格,甚至包含“ A”的单元格:

excel如果部分文本匹配(通配符)

为什么通配符如果陈述失败?从所有外观中,Excel都无法识别带有同等标志或其他逻辑运算符的通配符。仔细研究支持通配符的功能列表,您会注意到他们的语法假设通配符文本直接出现在这样的论点中:

=COUNTIF(A2:A10, "*a*")

如果包含部分文本,那么擅长

现在,您知道了公式如果公式失败的通配符的原因,让我们尝试弄清楚如何使其工作。为此,我们将简单地嵌入一个在逻辑测试中接受通配符的函数,即countif函数:

if(countif( cell ,“ * text *”),value_if_true,value_if_false)

使用这种方法,如果理解通配符没有问题并完美地识别包含“ A”或“ A”的单元格(因为Countif并非对病例敏感):

=IF(COUNTIF(A2, "*a*"),"Yes", "No")

该公式转到第2行中的B2或任何其他单元格,然后您可以根据需要将其拖到尽可能多的单元格:

excel如果部分文本匹配(通配符)

该解决方案也可以用于定位特定图案的字符串。假设只有由2组组成的2组组成的ID与连字符分开是有效的,则可以使用“ ?? - ??”。通配符字符串以识别它们:

=IF(COUNTIF(A2, "??-??"), "Valid", "")

excel如果部分文本匹配(通配符)

该公式如何工作:

对于IF的逻辑测试,我们使用计算匹配指定通配符字符串的单元格数的Countif函数。由于标准范围是单个单元格(A2),因此结果始终为1(匹配)或0(找不到匹配)。鉴于1等于true,而0等于false,当计数为1时,公式将返回“有效”(value_if_true),而计数为0时则返回一个空字符串(value_if_false)。

如果是部分匹配的ISNUMBER搜索公式

如果要在部分文本匹配工作的情况下,强迫Excel的另一种方法是将查找或搜索功能包括在逻辑测试中。不同之处在于,发现尚未搜索,而不是搜索。

因此,根据您要将小写和大写视为相同或不同的字符,这些公式之一将有效:

局部匹配的情况不敏感公式:

if(isnumber(搜索(“文本”,单元格)),value_if_true,value_if_false)

局部匹配的案例敏感公式:

if(isnumber(find(“文本”,单元格)),value_if_true,value_if_false)

由于两个功能都设计用于执行“包含”匹配类型的类型,因此在这种情况下,通配符并不需要。

例如,要检测包含“ A”或“ A”的ID,该公式为:

=IF(ISNUMBER(SEARCH("A", A2)), "Yes", "No")

仅搜索资本“ A”而忽略“ A”,该公式是:

=IF(ISNUMBER(FIND("A", A2)), "Yes", "No")

在下面的屏幕截图中的B6中,您可以观察结果的差异:

excel如果部分文本匹配(通配符)

该公式如何工作:

在公式的核心中,isnumber和搜索(或查找)的结合:

ISNUMBER(SEARCH("A", A2))

搜索功能查找指定的文本(在此示例中“ A”),并返回其在A2中的字符串中的位置。如果找不到文本,则返回#Value错误。由于两个搜索和发现都被设计为执行“包含”匹配类型的类型,因此在这种情况下,通配符并不需要。

ISNUMBER函数将一个数字转换为True和任何其他值,包括错误。逻辑值直接用于IF的逻辑测试。在我们的情况下,A2包含“ A”,因此Isnumber返回真实:

IF(TRUE, "Yes", "No")

结果,如果返回value_if_true参数的值集,则为“是”。

出色的if或与通配符的声明

是否需要识别包含一个通配符文本字符串之一的单元格?在这种情况下,您可以将经典IF或语句与上面讨论的Countif或Isnumber搜索公式相结合。

例如,在A2中搜索“ AA”或“ BB”,忽略字母案例并返回“是”,请使用以下公式之一:

=IF(OR(ISNUMBER(SEARCH("aa", A2)), ISNUMBER(SEARCH("bb", A2))), "Yes", "")

或者

=IF(OR(COUNTIF(A2, "*aa*"), COUNTIF(A2, "*bb*")), "Yes", "")

添加两个Countif功能也将起作用。在这种情况下,加号符号像或操作员一样工作:

=IF(COUNTIF(A3, "*aa*") COUNTIF(A3, "*bb*"), "Yes", "")

如下面的屏幕截图所示,您可以将它们输入公式中的通配符,而是将其输入单独的单元格(例如D2和F2)。请注意,这些单元格的参考已锁定为$符号,以便该公式将正确复制到以下单元格:

=IF(OR(COUNTIF(A2, "*"&$D$2&"*"), COUNTIF(A2, "*"&$F$2&"*")), "Yes", "")

excel如果部分文本匹配(通配符)

上面的公式在两场比赛中效果很好,但是如果您要搜索3个以上的比赛,它们将变得太长。在这种情况下,它有理由以不同的方式处理任务:

以数组常数向搜索功能提供多个子字符串,对返回的数字进行计数,并检查结果是否大于零(这意味着发现至少一个子字符串):

=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")

这样,您将通过更紧凑的公式获得完全相同的结果:

excel如果部分文本匹配(通配符)

excel if if and formula与通配符

当您要检查单元格是否包含两个或更多不同的子字符串时,最简单的方法是将Countifs功能与通配符一起进行逻辑测试。

假设您想在包含“ B”和“ 2”的A列中找到单元格。要完成它,请使用“*b*”和“*2*”作为Countifs的标准,并且在标准范围内使用A2:

=IF(COUNTIFS(A2, "*b*", A2, "*2*"), "Yes", "")

另一种方法是将IF和公式与ISNUMBER搜索一起使用:

=IF(AND(ISNUMBER(SEARCH("b", A2)), ISNUMBER(SEARCH("2", A2))), "Yes", "")

尽管我们在此公式中不包含任何通配符字符,但它确实可以像在同一单元格中搜索两个通配符(“*b*”和“*2*”)的工作。

当然,在我们的情况下,没有什么可以阻止您输入预定义的单元格,D2和F2的搜索值,并提供对公式的单元格引用:

=IF(AND(ISNUMBER(SEARCH($D$2, A2)), ISNUMBER(SEARCH($F$2, A2))), "Yes", "")

excel如果部分文本匹配(通配符)

如果您希望尽可能使用更紧凑的公式,那么您可能会更好地喜欢数组常数方法。 IF计数搜索公式非常类似于上一个示例,但是由于这段时间必须出现在A2中,因此我们检查计数是否等于2:

=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")

excel如果部分文本匹配(通配符)

这些是在Excel中使用通配符的主要方法。如果您知道其他解决方案,那么如果您在评论中分享您的经验,其他用户一定会很感激。我感谢您阅读,并希望下周在我们的博客上见到您!

练习工作簿下载

如果通配符公式示例(.xlsx文件)脱颖而出

以上是excel如果部分文本匹配(通配符)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Excel中的中位公式 - 实际示例Excel中的中位公式 - 实际示例Apr 11, 2025 pm 12:08 PM

本教程解释了如何使用中位功能计算Excel中数值数据中位数。 中位数是中心趋势的关键度量

Google电子表格Countif函数带有公式示例Google电子表格Countif函数带有公式示例Apr 11, 2025 pm 12:03 PM

Google主张Countif:综合指南 本指南探讨了Google表中的多功能Countif函数,展示了其超出简单单元格计数的应用程序。 我们将介绍从精确和部分比赛到Han的各种情况

Excel共享工作簿:如何为多个用户共享Excel文件Excel共享工作簿:如何为多个用户共享Excel文件Apr 11, 2025 am 11:58 AM

本教程提供了共享Excel工作簿,涵盖各种方法,访问控制和冲突解决方案的综合指南。 现代Excel版本(2010年,2013年,2016年及以后)简化了协作编辑,消除了M的需求

如何将Excel转换为JPG-保存.xls或.xlsx作为图像文件如何将Excel转换为JPG-保存.xls或.xlsx作为图像文件Apr 11, 2025 am 11:31 AM

本教程探讨了将.xls文件转换为.jpg映像的各种方法,包括内置的Windows工具和免费的在线转换器。 需要创建演示文稿,安全共享电子表格数据或设计文档吗?转换哟

excel名称和命名范围:如何定义和使用公式excel名称和命名范围:如何定义和使用公式Apr 11, 2025 am 11:13 AM

本教程阐明了Excel名称的功能,并演示了如何定义单元格,范围,常数或公式的名称。 它还涵盖编辑,过滤和删除定义的名称。 Excel名称虽然非常有用,但通常是泛滥的

标准偏差Excel:功能和公式示例标准偏差Excel:功能和公式示例Apr 11, 2025 am 11:01 AM

本教程阐明了平均值的标准偏差和标准误差之间的区别,指导您掌握标准偏差计算的最佳Excel函数。 在描述性统计中,平均值和标准偏差为interinsi

Excel中的平方根:SQRT功能和其他方式Excel中的平方根:SQRT功能和其他方式Apr 11, 2025 am 10:34 AM

该Excel教程演示了如何计算正方根和n根。 找到平方根是常见的数学操作,Excel提供了几种方法。 计算Excel中正方根的方法: 使用SQRT函数:

Google表基础知识:了解如何使用Google电子表格Google表基础知识:了解如何使用Google电子表格Apr 11, 2025 am 10:23 AM

解锁Google表的力量:初学者指南 本教程介绍了Google Sheets的基础,这是MS Excel的强大而多才多艺的替代品。 了解如何轻松管理电子表格,利用关键功能并协作

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器