有没有办法使用 isnumber 和 search 从多个单元格中提取并搜索多个单元格以返回多个单元格?

Posted

技术标签:

【中文标题】有没有办法使用 isnumber 和 search 从多个单元格中提取并搜索多个单元格以返回多个单元格?【英文标题】:Is there a way to use isnumber and search to pull from multiple cells and search multiple cells to return to multiple cells? 【发布时间】:2020-10-01 19:12:42 【问题描述】:

我拼凑了以下公式,它有效:

=IF(ISNUMBER(SEARCH(F7, $B$11:$B$53)), $C$11:$C$53,  
      IF(ISNUMBER(SEARCH(F8, $B$11:$B$53)), $C$11:$C$53, 
           IF(ISNUMBER(SEARCH(F9, $B$11:$B$53)), $C$11:$C$53, 
                IF(ISNUMBER(SEARCH(F10, $B$11:$B$53)), $C$11:$C$53, ""))))

(我帖子中的每个“新行”都是一个空格)

F7、F8、F9 和 F10 是我想在 B11:B53 列中找到的搜索词。我的“F”数组​​中的搜索词与 B11:B53 中的文本字符串部分匹配。然后我从 C11:C53 中提取相应的数据,并将其放在 F11:F53 列中的相应行中。

有没有更简单的方法来编写这个允许缩放的公式?

我希望能够在 F1:F6 中轻松添加搜索词并轻松扩展我的搜索数组,而无需添加

IF(ISNUMBER(SEARCH(F6, $B$11:$B$53)), $C$11:$C$53,

添加到我的每个搜索词的公式。如果我想添加 10 个新标准,公式将变得笨拙。

我还在多列中缩放此公式,因此我可以搜索列“B”并从列“C”中提取数据,并将其放在与我的搜索数组相同的列中,每个列中都有不同的搜索词列表列。

目前,如果一个搜索词单元格(即 F8)为空白,我的整个列都会填充来自 C 的数据,而不仅仅是应有的数据。

我的目标是根据 B 列中的内容以及“搜索列表”中的内容(在本例中为 F7:F10)将我的整个“C”列分解为多个列

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

这是一个改进。如果您在F7:F10 中输入了 4 个搜索条件,请在单元格 C11 中尝试这样的公式:

=IF(SUM(COUNTIF(B11,"*"&F$7:F$10&"*"))=(ROWS(F$7:F$10)),B11,"")

它计算您的标准行数(在本例中为F7:F10,因此是 4 个标准),如果结果的总和与标准行数匹配,则返回 B11 中的值。 COUNTIF() 可以接受范围并允许使用通配符。

要忽略某个标准,只需将?* 放入其中即可。

【讨论】:

以上是关于有没有办法使用 isnumber 和 search 从多个单元格中提取并搜索多个单元格以返回多个单元格?的主要内容,如果未能解决你的问题,请参考以下文章

如何将每个“_”从列复制到另一个

Excel Countifs 基于包含文本的单元格

在特定条件下是否可以从Excel值中提取数字?

excel中判断某个单元格中的文本字符串是不是包含某个文本的excel函数是啥?

C# 中 Char.IsDigit() 和 Char.IsNumber() 的区别

imap_search 限制返回的消息数