【发布时间】:2019-09-10 22:46:52
【问题描述】:
我正在尝试对列表文本进行分类,该列表文本有时需要精确的文本匹配,有时是文本的一部分,具体取决于我想要对这些文本进行分类。
我已经尝试过 if 和 find 函数的组合,但是在第三个 if 语句的情况下它不起作用。
=IF(G2="SILVER", "SILVER",IF(G2="COPPER", "COPPER",IF(FIND("BLACK METAL",G2),"COPPER",IF(G2="GUN METAL", "ANT. SILVER", IF(FIND("GUN METAL",G2), "ANT. SILVER", IF(G2="ANT. SILVER", "ANT. SILVER", IF(FIND("ANT. SILVER", G2), "ANT. SILVER", IF(FIND("MATTE SILVET", G2), "MATTE SILVER", IF(FIND("ROSE GOLD", G2), "ROSE GOLD", IF(FIND("TIN", G2), "TIN", IF(FIND("WHITE DUSTED ZINK", G2), "TIN", IF(FIND("DARK DUSTED ZINK", G2), "ZINK", IF(G2="ZINK", "ZINK", IF(FIND("ANT. BRASS", G2), "DYEING", IF(FIND("SUCCESS 63", G2), "DYEING", IF(FIND("WORN BRASS", G2), "DYEING", "NONE"))))))))))))))))
因为我想添加更多类别,所以如果可能的话,我更喜欢使用vlookup 或其他东西。
【问题讨论】:
-
FIND 不返回真/假,它返回找到的文本的位置,或者当没有找到时本质上是一个错误。调整你的逻辑。
-
如果文本存在,FIND() 将给出数字结果,因此请使用 FIND() > 0 的逻辑测试
-
能否请您提供要分类的数据样本?
-
基本上,我想检查 g2 单元格内的文本是什么,如果 g2 = "python" 然后返回 "python" 或者如果 g2 = "Django" 然后返回 "python" 或者如果 g2 包含“蛇”然后返回“动物”或返回“未分类”,这里 g2 有 3 个不同的值,1.python 2.Django python 3.python 蛇 1 它应该返回“python”,2 “python”,3 “动物”希望问题很清楚......注意:我需要检查至少 10 个不同的值,其中一些值将是完全匹配,而其他值将是部分匹配或关键字匹配。谢谢
-
您能否在问题中包含至少 10 个实际值以及相应类别的分配给每个值,我已准备好答案,但想根据实际情况进行测试示例,为了确保它可以正常工作,在发布之前,只是不想在发布之后接收更改和调整。谢谢。
标签: excel vba excel-formula excel-2007