我在Excel表格中有一个数据集,如下所示:
ID Date BMI
------- -------------- ---------
1 10/5/1984 35
1 10/5/1985 40
1 10/5/1986 45
2 10/5/1984 28
2 10/5/1985 32
3 10/5/1984 22
我想建立一个列表,在第一次访问时输出每个唯一ID及其BMI。我希望它与min(日期)有关但我无法使它工作。 我想我希望结果如下:
ID BMI at First Visit
------- --------------
1 35
2 28
3 22
非常新,如果我需要提供更多信息,请告诉我们,谢谢!
答案 0 :(得分:0)
您将需要两个数组公式,一个用于获取唯一列表,第二个用于获取相应的BMI:
要获取ID,请将其放在F列的第二行:
=IFERROR(INDEX($A$2:$A$7,MATCH(TRUE,(COUNTIF($F$1:$F1,$A$2:$A$7)=0),0)),"")
退出编辑模式时,按Ctrl-Shift-Enter确认。如果操作正确,Excel会在公式周围放置{}
。然后复制,直到你得到空白。
然后使用BMI的数组公式引用该列。把它放在G2:
=IFERROR(INDEX($C$2:$C$7,MATCH(MIN(IF($A$2:$A$7=F2,$B$2:$B$7)),IF($A$2:$A$7=F2,$B$2:$B$7),0)),"")
退出编辑模式时,按Ctrl-Shift-Enter确认。如果操作正确,Excel会在公式周围放置{}
。然后复制,直到你得到空白。
答案 1 :(得分:0)
或者,您可以在Date列上对数据进行排序,然后在每个ID上执行VLOOKUP或INDEX / MATCH,如下所示:
请注意,数据透视表的唯一用途是生成一个方便的不同ID列表,以及第一次访问的相关日期。由于Table按日期排序,所以真正的工作正在完成...... INDEX / MATCH公式只返回它在该排序列表中找到的第一条记录。
我在以下SO答案中进一步阐述了这种方法: Select Newest Record and Create New Table of Unique Values in Excel
在那个答案中,我再进一步,创建一个“Slaved”表,它位于我的查找公式所在的数据透视表旁边。此从属表自动扩展或与数据透视表一起收缩。值得一看,如果我自己这么说的话。