从可在单元格中找到的范围返回值

时间:2014-07-24 18:53:06

标签: excel excel-formula

我有一个电子表格,其中包含电子邮件的导出,包括Subject,Sender,Body等列。我还有一个工作表,其中包含我希望在这些电子邮件中找到的字符串列,以及另一列对它们进行分类。

我要做的是通过将字符串与电子邮件正文匹配,然后返回分类,将列添加到包含这些分类的第一个工作表。

现在,我提出的唯一方法是一个非常长的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()语句时,它不是很有趣!我显然更喜欢一些更具动态性的可读性,因此我可以在不重写formua的情况下从工作表中添加/删除字符串/分类。

非常感谢任何帮助。

所以我有一个包含电子邮件的专栏:

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与字符串表(例外!A:A)和分类(例外!C:C)进行比较。如果在消息中找到该字符串,则COUNTIF()返回1,IF()语句的计算结果为true。当IF()语句的计算结果为true时,将返回分类。如果为false,则使用字符串/分类表中的下一行数据检查下一个IF()语句。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用SEARCH()函数来确定电子邮件中是否存在每个字符串,如果结果为非null,则应用分类(SEARCH返回您正在搜索的文本中字符串的位置。确定这是否使您的整体解决方案更容易实现,但它比使用COUNTIF的当前方法更容易。

我还考虑使用COUNTIFS作为以这种方式将多个COUNTIF函数串在一起的替代方法。