我有一个导出电子邮件消息的电子表格,有主题、发件人、正文等列。我还有一个工作表,其中有一个我希望在这些电子邮件中找到的字符串列,以及另一个对它们进行分类的列。
我尝试做的是通过将字符串与电子邮件正文匹配,然后返回分类,将列添加到具有这些分类的第一个工作表中。
现在,我想出的唯一方法是一个非常长的if-else语句,迭代每个分类。
=IF(COUNTIF(E2,"*"&Exceptions!A$1&"*"),Exceptions!C$1,IF(COUNTIF(E2,"*"&Exceptions!A$2&"*"),Exceptions!C$2,IF(COUNTIF(E2,"*"&Exceptions!A$3&"*"),Exceptions!C$3,IF(COUNTIF(E2,"*"&Exceptions!A$4&"*"),Exceptions!C$4,IF(COUNTIF(E2,"*"&Exceptions!A$5&"*"),Exceptions!C$5)))))当你在一个公式中有50+ if()语句时,这并不是很有趣!我显然更喜欢更动态的东西,因为它的可读性更好,这样我就可以在表中添加/删除字符串/分类,而不需要重写公式。
任何帮助都将不胜感激。
因此,我有一个包含电子邮件消息的专栏:
Hey guys, meeting was rescheduled for 3PM....
Following up on that earlier conference call....
Can I have a lead time for....我还有一个包含预期字符串和分类的表
lead time Lead Time
conference call Conference
meeting wasrescheduled Rescheduled Meeting我们的目标是产生类似于
Rescheduled Meeting Hey guys, meeting was rescheduled for 3PM....
Conference Following up on that earlier conference call....
Lead Time Can I have a lead time for....我使用的公式使用COUNTIF()将消息E2与字符串表(Exceptions!A:A)和分类表(Exception!C:C)进行比较。如果在message中找到该字符串,则COUNTIF()返回1,IF()语句的计算结果为true。当IF()语句的计算结果为true时,将返回分类。如果为false,则使用字符串/分类表中的下一行数据检查下一个IF()语句。
发布于 2014-07-25 06:14:22
您可以尝试使用SEARCH()函数来确定电子邮件中是否存在每个字符串,如果结果不为空,则应用分类(搜索将返回字符串在要搜索的文本中的位置。不确定这是否使您的整体解决方案更容易实现,但它比您当前使用COUNTIF的方法更容易。
我还会考虑使用COUNTIFS作为以这种方式将多个COUNTIF函数串在一起的替代方法。
https://stackoverflow.com/questions/24941753
复制相似问题