excel如果部分文本匹配(通配符)
试图用通配符文本构建IF语句,但每次都会失败?问题不在您的公式中,而是在功能本身中 - 如果不支持通配符字符,则表现出色。但是,有一种方法可以使其用于部分文本匹配,本教程将教您如何处理。
每当您想在Excel中进行部分或模糊匹配时,最明显的解决方案就是使用通配符。但是,如果您需要使用的特定功能不支持通配符字符怎么办?可悲的是,如果是这样的功能之一。考虑到其他“条件”功能(例如Countif,sumif和平均水平)与通配符非常好,这尤其令人失望。
幸运的是,这不是可以阻止创意Excel用户的障碍:)通过将其与其他功能相结合,您可以强迫它评估部分匹配,并获得excel的不错替代方法,即如果是通配符公式,则可以将其替换为Excel。
为什么在通配符不起作用的情况下表现出色
在下面的示例表中,假设您要检查第一列中的ID是否包含字母“ A”。如果找到 - 在B列中显示“是”,如果不是 - 显示“否”。
似乎在逻辑测试中包含通配符文本将是一个简单的解决方案:
=IF(A2="*a*","Yes", "No")
但是遗憾的是,它行不通。该公式返回所有单元格,甚至包含“ A”的单元格:
为什么通配符如果陈述失败?从所有外观中,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或任何其他单元格,然后您可以根据需要将其拖到尽可能多的单元格:
该解决方案也可以用于定位特定图案的字符串。假设只有由2组组成的2组组成的ID与连字符分开是有效的,则可以使用“ ?? - ??”。通配符字符串以识别它们:
=IF(COUNTIF(A2, "??-??"), "Valid", "")
该公式如何工作:
对于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中,您可以观察结果的差异:
该公式如何工作:
在公式的核心中,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", "")
上面的公式在两场比赛中效果很好,但是如果您要搜索3个以上的比赛,它们将变得太长。在这种情况下,它有理由以不同的方式处理任务:
以数组常数向搜索功能提供多个子字符串,对返回的数字进行计数,并检查结果是否大于零(这意味着发现至少一个子字符串):
=IF(COUNT(SEARCH({"aa","bb"}, A2))>0, "Yes", "")
这样,您将通过更紧凑的公式获得完全相同的结果:
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", "")
如果您希望尽可能使用更紧凑的公式,那么您可能会更好地喜欢数组常数方法。 IF计数搜索公式非常类似于上一个示例,但是由于这段时间必须出现在A2中,因此我们检查计数是否等于2:
=IF(COUNT(SEARCH({"b","2"}, A2))=2, "Yes", "")
这些是在Excel中使用通配符的主要方法。如果您知道其他解决方案,那么如果您在评论中分享您的经验,其他用户一定会很感激。我感谢您阅读,并希望下周在我们的博客上见到您!
练习工作簿下载
如果通配符公式示例(.xlsx文件)脱颖而出
以上是excel如果部分文本匹配(通配符)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本教程演示了如何在数据集中有效地定位顶部N值并使用Excel公式检索关联的数据。 无论您需要最高,最低还是符合特定标准的人,本指南都提供解决方案。 Findi

本文介绍了如何在Outlook Desktop应用程序中访问和利用共享日历,包括导入Icalendar文件。 以前,我们介绍了分享您的Outlook日历。 现在,让我们探索如何查看与之共享的日历

本教程向您展示了如何将下拉列表添加到Outlook电子邮件模板中,包括多个选择和数据库总体。 虽然Outlook并未直接支持下拉列表,但本指南提供了创造性的解决方法。 电子邮件模板SAV

本教程为Excel的Flash Fill功能提供了综合指南,这是一种可自动化数据输入任务的强大工具。 它涵盖了从定义和位置到高级用法和故障排除的各个方面。 了解Excel的FLA

本教程解释了如何使用Excel的FV功能来确定投资的未来价值,涵盖了定期付款和一次性付款。 有效的财务计划取决于了解投资增长,本指南

本教程展示了使用内置功能和自定义VBA函数在Excel单元格中分离文本和数字的几种方法。 您将在删除文本时学习如何提取数字,隔离文本时丢弃数字

本教程演示了将联系人导入Outlook的两种方法:使用CSV和PST文件,还涵盖了将联系人转移到Outlook Online。 无论您是从外部来源合并数据,都从另一个电子邮件pro迁移
