![加速 Excel 索引匹配 - 第一个实例](https://linux22.com/image/1571489/%E5%8A%A0%E9%80%9F%20Excel%20%E7%B4%A2%E5%BC%95%E5%8C%B9%E9%85%8D%20-%20%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BE%8B.png)
我使用以下公式查找电子邮件中出现的第一个姓名实例(L 列)。我有大约 40,000 行,随着新行(电子邮件)的加入,公式变得越来越慢。
您知道有什么方法可以加快公式的速度吗?
公式:=INDEX(Advisors,MATCH(TRUE,ISNUMBER(SEARCH(Advisors,L3613)),0))
Advisors
= 已定义的人员名单(仍在增加)
答案1
您的问题对我来说不太清楚。如果不说明 advisors 和 l3613 中存储了什么,很难理解您到底在做什么。l3613 中有什么?是一封邮件吗?
根据我对您的问题的理解,我会做以下事情:
将以下公式放在每个顾问的姓名旁边:
=match("*"&advisorname&"*";table;0)
这将为您提供每个顾问在表中第一次出现的索引。然后您可以从该行中选择您要查找的顾问子集中的最小数量(例如使用 minifs 函数)。
这里的优点是,您可以使用匹配函数中的通配符匹配(避免嵌套 2 个搜索函数)。此外,匹配将在每个顾问第一次出现时停止,并且当不需要时不会查找到列表末尾。最终,您可以假设所有顾问都会匹配,并且新电子邮件永远不会被解析,因为没有必要。
使用示例:
如果我没有完全理解您的问题,请原谅我。我希望这能帮助您解决问题。