我想将 B2 中的单词“FaKe TaBLet”删除为新的期望结果(例如 C2 中的结果,即“great number two”),使用(据我所知)反向部分查找或其他公式而不是使用“Substitute”。
基本上,需要根据与 A5 中的查找列表的匹配(排除大写或小写)删除 B2 中的单词“FakE TaBLet”
我知道可以使用 =SUBSTITUTE 公式轻松删除它,我也试过了。问题是,我有大量不同的查找列表数据。
我已尝试过 =TRIM(LOWER(IFERROR(LOOKUP(1E+100,SEARCH($A$6:$A$9,B2,1),$A$6:$A$9),""))) 基于学习https://youtu.be/Xts7oC3agMs但如果查找词包含多个单词,则这显然不适用。
有人可以解释一下吗?任何答案都将非常感激!
多谢
| A | B | C |
1| | *Keyword |*Desired result |
2| | great FakE TaBLet number two | great number two |
3| | | |
4| | | |
5|*lookup list | | |
6| Fake | | |
7| Fake Tablet | | |
8| Fake Tab | | |
9| Fake table | | |
︙
答案1
您的公式对我来说很有效(我使用的是 Excel 2016),可以返回要删除的字符串,包括要删除的字符串不止一个单词的情况。但是,由于它抓取了查找列表中的最后一个匹配项,因此您需要将查找列表从最短字符串重新排列为最长字符串,以确保它获得最长的匹配字符串:
*lookup list
Fake
Fake Tab
Fake table
Fake Tablet
完成更改后,此公式将返回最终的字符串:
=TRIM(SUBSTITUTE(LOWER(B2),TRIM(LOWER(IFERROR(LOOKUP(1E+100,SEARCH($A$6:$A$9,B2,1),$A$6:$A$9),""))),""))
该公式返回:
great number two
此公式确实存在限制,即只能找到并删除 A 列中的一个字符串。您可以通过在更多列中重复公式来查找和删除更多字符串,但考虑到您的查找列表“庞大”,找到所有字符串可能并不实际。如果您确实想查找并删除庞大查找列表的所有成员,我会使用 VBA。