我有一个包含3列的文件。 A列包含300,000行,包含大约200个单独的ID,所有ID重复至少1,000次。 B列包含每行的日期。 C列包含我需要提取的值。
Col A中的200个ID中的每一个都可以具有多个值(例如ID 1234可能具有日期1/1 / 2001,1 / 3 / 2001,1 / 2/2015等)。同样,Col B上的每个日期都有多个ID(例如1/2/15可能有ID为1234,1874,1930,6043等)。
简而言之,我需要检查Col A和Col B中的值,以找到Col A中的相关ID和Col B中的最大值,并返回Col C中相关单元格中的值。
我查看了索引/匹配示例,但它们似乎并不合适。是否有关于我可以运行的宏的任何建议,这将完成所需的工作。
答案 0 :(得分:4)
使用此数组公式:
=INDEX($C$1:$C$300000,MATCH(1,IF(($A$1:$A$300000="1234")*($B$1:$B$300000=MAX(IF($A$1:$A$300000="1234",$B$1:$B$300000))),1,0),0))
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。
将"1234"
更改为具有相应ID的参考单元格。
答案 1 :(得分:4)
您可以使用数组公式完成此操作。首先,使用以下公式,当A列为1234时,您可以检索B列中的最大日期。请记住,在键入数组公式时必须使用Ctrl-Shift-Enter。
{=MAX(IF($A$2:$A$24=1234,$B$2:$B$24))}
请注意,您需要更改范围以包含所有数据,而不是第2-24行的测试数据。
既然您有一个公式来检索最大日期,您可以将其放入索引/匹配中,并再次使用Ctrl-Shift-Enter,使用下面的数组公式来检索C列中的值以进行行匹配1234和最大日期。
{=INDEX($C$2:$C$24,MATCH(1234&MAX(IF($A$2:$A$24=1234,$B$2:$B$24)),$A$2:$A$24&$B$2:$B$24,0))}