问题描述
我已经拼凑了以下有效的公式:
=IF(ISNUMBER(SEARCH(F7,$B$11:$B$53)),$C$11:$C$53,IF(ISNUMBER(SEARCH(F8,IF(ISNUMBER(SEARCH(F9,IF(ISNUMBER(SEARCH(F10,""))))
(我帖子中的每个“新行”都是一个空格)
F7,F8,F9和F10是我想在列B11:B53中找到的搜索词。我的“ F”数组中的搜索词与B11:B53中的文本字符串部分匹配。然后,我从C11:C53中提取相应的数据,并将其放在F11:F53列的相应行中。
有没有更简单的方法来编写可缩放的公式?
我希望能够轻松地在F1:F6中添加搜索词并轻松扩展搜索数组,而无需添加
IF(ISNUMBER(SEARCH(F6,
添加每个搜索字词的公式。如果我想添加10个新条件,则该公式将变得笨拙。
我也在多个列上扩展此公式,因此我可以搜索列“ B”并从列“ C”中提取数据,并将其放置在与我的搜索数组相同的列中,每个搜索列中都有不同的搜索项列表列。
当前,如果一个搜索词单元格(即F8)为空,则我的整个列都将填充C中的数据,而不仅仅是应该包含的数据。
我的目标是根据B列中的内容以及“搜索列表”中的内容(在此示例中为F7:F10)将我的整个“ C”列细分为多个列
任何帮助将不胜感激
解决方法
这是一个改进。如果您在C11
中输入了4个搜索条件,请在单元格F7:F10
中尝试这样的公式:
=IF(SUM(COUNTIF(B11,"*"&F$7:F$10&"*"))=(ROWS(F$7:F$10)),B11,"")
它计算您的条件行(在这种情况下为F7:F10
,因此为4条条件),如果发现的总和与条件行数匹配,则返回B11
中的值。 COUNTIF()
可以接受范围并允许使用通配符。
要忽略某个条件,只需将?
或*
放入其中。