如何在VBA中编写MAX IF公式以实现对两个值的查找

我一直使用数组公式来查找位于列Y中的资源名称条目,在列B中查找项目名称,并使用MAX函数返回列AE中的最新/最高date值。

现在就直截了当地说,由于电子表格中数据的庞大规模(60,000行),导致我的电子表格失效。 公式是:

{=IF(Y3="","",IFERROR(MAX(IF(Y$2:$Y$60000=Y3,IF($B$2:$B$60000=B3,$AE$2:$AE$60000))),""))} 

如果我们看下面的表格,公式将返回理查德21/04/2014和弗雷德21/06/2014 ,他们都在项目Capitol

  B | Y | AE Capitol Richard 21/03/2014 Capitol Richard 21/04/2014 Capitol Fred 21/05/2014 Capitol Fred 21/06/2014 

我想知道是否有办法在VBA中重写这个公式以获得相同的结果,但运行更有效的内存? 我在VBA的初学者,但慢慢学习。

数据透视表将返回您提到的结果:

SO26248906的例子