【发布时间】:2021-08-30 18:20:03
【问题描述】:
我一直在努力完成这项工作。我可以在网上找到一些不同的公式,但一直无法得到我需要的东西。
所以,我有一个单元格列表,每个单元格都包含一个单词,比如说单元格 A1:A10。在单元格 B1 中,我有一个文本字符串。我想在单元格 B1 中搜索 A1:A10 列表中的任何单词,但我需要它来搜索区分大小写,并且还允许使用通配符(所以我只能得到整个单词匹配)。这怎么可能?
这是一个随机的例子来解释我的逻辑: 假设单元格 B1 包含字符串“Abc Xyz”。在 A1:A10 列表中,有字符串“Ab”和“Bc”。我希望此搜索返回 false,因为在 B1 中未找到列表中的整个单词。但是如果将“Abc”或“Xyz”添加到列表中,则搜索将返回真,因为找到了整个单词。到目前为止,我发现:
- FIND 函数区分大小写,因此它不会与“Bc”进行匹配,这很好,但会与“Ab”匹配。所以用“Ab”当我想要一个假的时候我得到一个真。而且它不能使用通配符,请看下一条评论。
- SEARCH 函数不区分大小写,所以它会找到“Bc”,所以当我想要一个假时我得到一个真。但是它允许我使用通配符,所以我可以搜索“Ab~”,所以它只在搜索词之后查找一个空格,这在我需要时给了我“Ab”错误。我可能语法错误,但搜索范围是 A1:A10&"~"。
- EXACT 函数不起作用,因为“Abc”和“Xyz”与“Abc Xyz”不完全匹配。所以当我想要一个真时,我得到一个假。
- MATCH 函数不起作用,因为“Abc Xyz”永远不会出现在单个单元格的 A1:A10 列表中。
非常感谢您能提供的任何帮助。几个小时以来一直在为此绞尽脑汁。
(编辑:简而言之,我正在寻找一种从搜索词列表中仅搜索全字匹配且区分大小写的方法。)
【问题讨论】:
-
您可以使用 VBA 解决方案吗?
-
@Kevin - 没必要见下文...
-
@k.cummins - 你确定 xlookup 不适合你吗?
-
@JB-007 - Xlookup 可能有效,但我不确定如何。我需要知道单元格 B1 中存在的每个全字是否在列表 A1:A10 中列为全字,包括区分大小写。这就像我需要对 B1 中的每个单词进行精确匹配,而不是整个 B1 单元格。那可能吗?对不起,如果我把事情复杂化了。这可能是我在 Excel 中尝试过的最困难的事情之一,而且我不是专家。
-
@JB-007 好的,我看到了 xlookup 的有用性以及它如何导致解决方案。基本上,单元格 B1 的内容是否存在于 A1:A10 中。但这会检查整个 B1 单元格......我将如何使用它来检查 B1 中的每个单词?
标签: excel search excel-formula office365 case-sensitive