提问人:Kris_Toor 提问时间:5/19/2022 最后编辑:Kris_Toor 更新时间:6/22/2022 访问量:58
如何查找给定单元格中包含的单元格文本
How to find from which cell text is contained in given cell
问:
因此,我有一个公式来显示单元格是否包含列表中的文本:
=SUMPRODUCT(--ISNUMBER(SEARCH("List of companies in Worksheet A",A1)))>0
它工作正常,但我需要进一步扩展这个公式。
我有两个数据工作表:
W1 是公司列表,显示给定国家/地区给定产品的首选公司,
W2 是一个文件列表,显示哪家公司在哪个国家/地区使用了哪个产品。
我需要公式来显示对于给定文件,公司是否是给定国家/地区和产品的首选。
上面的公式解决了公司的问题,因为它检查了 W2 中提到的公司是否出现在 W1 中,现在我需要再添加两个条件来检查国家和产品。
目前的公式是这样的:
=IF(AND(SUMPRODUCT(--ISNUMBER(SEARCH("List of companies in Worksheet A",A1)))>0,"Preferred", "Non Preferred")
如何反转公式,以便它将在哪个单元格中显示 W1 中找到的值,以便我可以使用简单的 VLOOKUP 和 = 公式和条件,例如:
=IF(AND(SUMPRODUCT(--ISNUMBER(SEARCH("List of companies in Worksheet A",A1)))>0,B1=Vlookup(SUMPRODUCT(--ISNUMBER(SEARCH("List of companies in Worksheet A",A1))>0,Table in W1,1,"Preferred", "Non Preferred")
我真的被困住了,请帮忙。
工作表 A 的示例
公司名称 | 公司代码 | 国家 |
---|---|---|
阿卜杜勒 | 12355 | 德国 |
AAA级 | 23322 | 奥地利 |
ASC公司 | 432 | 法国 |
ASC公司 | 123 | 美国 |
ASCE公司 | 1234 | 波兰 |
工作表 B 的示例
公司名称 | 国家 |
---|---|
阿卜杜勒 - 111 | 德国 |
AAA - 234 | 奥地利 |
ASC - 432型 | 法国 |
ASC - 123型 | 英国 |
ASCE - 1234年 | 罗马尼亚 |
如果我使用:
=SUMPRODUCT(--ISNUMBER(SEARCH("List of companies in Worksheet A",A1)))>0
它将突出显示底部的 3 行,但是我需要应用第二个条件,因此它只会突出显示第 3 行,即法国的那行。
答:
突出显示非常困难,因为 CF 规则不允许使用对当前工作表之外的其他工作表的引用,也不允许使用数组公式。但是,您可以使用帮助程序列来获取所需的输出,然后根据该输出突出显示:
工作表 A
工作表 B
Notice 是唯一突出显示的值,因为是唯一符合模式的国家/地区France
Company Name - Company&CodeCountry
C列中的公式(数组公式,因此您必须按++引入它:CTRLENTERSHIFT
={ISNUMBER(MATCH(A2&B2;'Worksheet A'!$A$2:$A$6&" - "&'Worksheet A'!$B$2:$B$6&'Worksheet A'!$C$2:$C$6;0))}
应用于 B 列的突出显示的 CR 规则基于以下公式:
=C2=TRUE()
更新:如果你真的需要跳过帮助程序列,你可能会从函数 INDIRECT 中受益:
但是,如果你的数据集很大,我不推荐这个解决方案,因为它可能真的会给你的文件多收费用,因为INDIRECT是一个易失性函数:
此外,如果您的数据集是固定的(我的意思是它总是在相同的地址中,例如 A2:C6 或 A2:A1000,无论但始终相同),您可以使用它,但它一直在变化,它会减慢您的文件速度。
无论如何,您可以根据以下公式制定 CF 规则:
=ISNUMBER(MATCH(A2&B2;INDIRECT("'Worksheet A'!$A$2:$A$6")&" - "&INDIRECT("'Worksheet A'!$B$2:$B$6")&INDIRECT("'Worksheet A'!$C$2:$C$6");0))
评论
asc -123
USA
UK
asce - 1234
Poland
Romania
)