INDEX / MATCH有多个标准

需要Excel公式帮助。

我正试图得到一个范围的总结。 我一直在玩匹配,索引,Countiffunction,并可以创build一个唯一的date列表,然后使用vlookup返回人名。

我需要一些东西来考虑个人的名字,所以如果同一个date出现2人,它显示在输出中的2个不同的行。

请参阅下表 – A&B是input,D&E是我现在可以得到的,G&H是我想要的输出。

提前致谢。

ABCDEFGH 1 13/01/15 RYAN 13/01/15 RYAN 13/01/15 RYAN 2 13/01/15 RYAN 14/01/15 RYAN 14/01/15 RYAN 3 14/01/15 RYAN 15/01/15 RYAN 14/01/15 FRANK 4 14/01/15 RYAN 15/01/15 RYAN 5 14/01/15 RYAN 6 14/01/15 RYAN 7 14/01/15 FRANK 8 14/01/15 FRANK 9 14/01/15 FRANK 10 15/01/15 RYAN 11 15/01/15 RYAN 

所有的知识,我在自学Excel的感谢论坛,如计算器,所以任何帮助,不胜感激。

实现这个最简单的方法是用数据透视表。 将标签添加到列A和B(比如date和名称),然后selectA:B,INSERT,Tables – PivotTable,select现有工作表或新工作表中的哪个位置,然后将Date和Name(下面)拖到ROWS中。

根据需要重新格式化。

有了帮助列,这可以实现没有任何数组公式。 这个想法是首先得到一个date和名字的连接,然后只得到列表中第一个出现的date和名称的行号,得到那些没有重复的行号,最后从A:A和B得到那些行号的INDEX :B中。

在这里输入图像描述

公式:

 D1:D13 =A1&B1 E1:E13 =IF($D1<>"",MATCH($D1,$D:$D,0),"empty") F1 =MIN($E:$E) F2:F13 =LARGE($E:$E,COUNTIF($E:$E,">"&$F1)) H1:H13 =INDEX($A:$A,$F1) I1:I13 =INDEX($B:$B,$F1) 

我喜欢的数组公式的样式要求在第一个公式的正上方有一个未使用的单元格,以避免循环引用。 这个未使用的单元格可以用作列标题标签。

D2:E2中使用的排列公式¹是,

 =IFERROR(INDEX(A:A, MATCH(0, COUNTIFS(D$1:D1,A$1:INDEX(A:A, MATCH(1E+99, A:A))&"", E$1:E1,B$1:INDEX(B:B, MATCH(1E+99, A:A))&""), 0)), "") =IFERROR(INDEX(B:B, MATCH(0, COUNTIFS(D$1:D1,A$1:INDEX(A:A, MATCH(1E+99, A:A))&"", E$1:E1,B$1:INDEX(B:B, MATCH(1E+99, A:A))&""), 0)), "") 

根据需要填写。 这些数组公式在列A中包含最后一个date的行上dynamic截断其最活跃的查找范围,从而将计算周期降低到必要的最小值。

two_column_unique

我在示例数据列表的底部添加了一个Frank的额外条目,以进一步演示双重唯一查找。


¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 如果input正确,Excel将花括号包括在公式中(例如{} )。 你不要自己input大括号。 一旦正确input第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。