我有一个从查询中更新的工作表,附有示例。查询的格式设置为使日期从最新到最旧。我需要根据每月进行的特定项目的最后一项从行中提取数据。有多个条目,但我只关心“ Cross1”的计数。因此,我需要在每个一月,然后二月,等等的最后一个条目。每月更新一次。我正在为我的VLOOKUP安排日期和说明列。
最初,我使用VLOOKUP没问题,它只是根据上个月的最后一天找到条目,因为总是在该月的最后一天有条目。但是,用户现在已经更改了数据,因此由于休息,开会,休假等原因,整个月的数据可能不会一直更新。因此,现在我的公式不适用于那些月份,并且它们是随机的。您可以在附件中看到这一点,该附件是我从12月中旬开始提出的。您可以看到Cross1在20号之后消失了。它具有21号条目,但计数为空。我需要在Cross1的每个月中提取所有已填写计数的最后一个条目。在这种情况下,是12/20,而不是12/21。
然后我尝试了其他替代方法,例如LOOKUP函数,这似乎正是我所需要的。但是,该函数假定数据按我的表的相反顺序排序。因此,它可以工作并找到我需要的东西,但是方向错误(而是找到FIRST条目)。我已经问过了,不能更改查询数据。因此,该选项已退出。
如果对数据进行排序,则顶部的最后一个日期为:= LOOKUP(2,1 /(c $ 2:c5995 = D4786),a $ 2:a5995)。但是,我还需要它验证它是最后一个条目并且存在计数。换句话说,12/21不会是我想要的条目。在此示例中,我想要12/20。感谢@ronrosenfeld帮助我完善了我的问题。
所以我希望有人提出建议。我可以走VBA路线,但我想可能会更简单些吗?