【发布时间】:2016-03-03 23:57:13
【问题描述】:
我有一个包含 3 列的文件。 A 列包含 300,000 行,大约有 200 个单独的 ID,所有这些都至少重复了 1,000 次。 B 列包含每一行的日期。 C 列包含我需要提取的值。
Col A 中的 200 个 ID 中的每一个都可以有多个值(例如,ID 1234 的日期可能是 2001 年 1 月 1 日、2001 年 1 月 3 日、2015 年 1 月 2 日等)。同样,Col B 上的每个日期都有多个 ID(例如 1/2/15 的 ID 可能为 1234、1874、1930、6043 等)。
简而言之,我需要检查 Col A 和 Col B 中的值,以找到 Col A 中的相关 ID 和 Col B 中的最大值,并返回 Col C 中相关单元格中的值。
我查看了索引/匹配示例,但它们似乎不合适。有没有关于我可以运行的宏的任何建议,这将完成所需要的。
【问题讨论】:
-
请求 VBA 代码帮助的人预计表现出最初的努力。开始做某事,然后回来展示你自己的尝试。
-
提示:看看下面的数组公式,然后看看Replace worksheet array formula with VBA memory array中的代码。
-
感谢您的链接。信息量很大
-
顺便说一句,这些数组公式只需要几秒钟就可以根据 AGGREGATE 处理 200 个单独的 ID,以便条件最大值从 300K 行中返回关联值。鉴于数据必须是相当静态的,VBA 真的有必要吗?
-
在这种情况下,这是必要的,因为输入到行中的数据会根据从系统中提取的值而改变。最大的提取大约 900k,最小的大约 30 行。