无法解决此问题的公式。我可以在比较一个单元格时执行此操作,但无法弄清楚如何检查整个列。
我有两个专栏。 A列是关键字列表。 B列是城市列表。
我想比较B列的所有内容,看看是否在第a列中逐个单元格中包含了这些城市中的任何一个
如果我只使用=ISNUMBER(SEARCH($B$2,A2))
,它会比较A列到B2列中的所有单元格,并且公式有效。但我在B列中有几百个单元格,我想比较A2。我想知道B列中的任何单词是否出现在单元格A2中
而不仅仅是$B$1
我想比较整个B列(比如B:B但不起作用)并查看B列中是否有任何字词在细胞A2中。
希望这是有道理的。
答案 0 :(得分:0)
由于性能问题,无法使用整个列B:B
。但您可以在数组公式中使用列$B$2:$B$100
的一部分。
示例:
英文符号公式:
{=SUM(--ISNUMBER(SEARCH($B$2:$B$67,A2)))}
这是一个数组公式。将其输入到没有大括号的单元格中,然后按 Ctrl + Shift + Enter 进行确认。然后会自动显示花括号。
工作原理:
在数组上下文中,ISNUMBER(SEARCH($B$2:$B$67,A2))
将$B$2:$B$67
的所有值都放入公式中,并生成一个{TRUE, FALSE, FALSE, TRUE, ...}
数组,该数组取决于该值是否在A2
中找到。 --
获取布尔值为数字0或1. SUM
然后对数组求和。所以它计算出1的频率。
编辑:
这需要$B$2:$B$67
填充值,否则将始终找到空单元格中的""
。因此,为了更加灵活,我们应该检查$B$2:$B$1000
中的单元格是否为空,然后将其排除。
{=SUM(($B$2:$B$1000<>"")*ISNUMBER(SEARCH($B$2:$B$1000,A2)))}