该文节选自《函数宝典》OFFICE365EXCEL 5.20版本 FILTER 函数
例8 条件查找最后一次数据
公式中要用到的函数解释:
COUNTIF:计算满足条件的单元格人个数
INDEX:(数组形式)返回行和列交叉位置的值
要运用这个公式,先了解 INDEX 函数是怎么运算的。
INDEX函数定义:(单元格引用方式)返回行和列交差位置的单元格引用

公式的意思是找这个区域内的第几个数值。
COUNTIF函数找这人一共消费了几次。
这个消费次数最大的值就是最后一次,
公式=INDEX(FILTER($C$4:$C$13,$B$4:$B$13=E4),COUNTIF($B$4:$B$13,E4))
公式对应解析=INDEX(FILTER(”张三“每次的消费额),COUNTIF(消费次数))
按F9得到运算过程=INDEX({366;329;596;428},4)
=INDEX(数组或数据区域,次数),从而我们得到{366;329;596;428}数组中的第4个数据428,这个数据就是张三的最后一次消费金额。
例10 查找第一次数据

公式中要用到的函数解释:
MATCH:返回搜索值的相对位置
ROW:返回行序号
E4=FILTER(A4:C13,XMATCH(B4:B13,B4:B13,0)=ROW(A1:A10))
按F9得到以下运算过程
=FILTER({45061,"张三",366;45062,"李四",372;45063,"张三",329;45064,"王五",188;45065,"赵六",356;45066,"李四",150;45067,"张三",596;45068,"张三",428;45069,"王五",168;45070,"王五",98},{1;2;1;4;5;2;1;1;4;4}={1;2;3;4;5;6;7;8;9;10})
注:这里的5位数字是日期以数字形式体现的结果。

有朋友第一次接触365版本,可能会有疑问,怎么是一个公式就生成了一串数据,这是动态数组
什么是动态数组公式呢?我们来看看官方的解释:
Excel返回一组值(也称为数组)的公式将这些值返回到相邻单元格。这种行为称为“溢出”。可以返回可变大小的数组的公式称为 动态数组 公式。当前返回成功溢出的数组的公式可称为溢出 数组 公式。
例11 单条件查找第N次数据
例11 单条件查找第N次数据

D7=FILTER(A4:B13,COUNTIF(D4,A4:A13))
按F9得到以下运算过程
=FILTER({"刘一","A";"陈二","B";"张三","C";"李四","D";"王五","E";"赵六","F";"陈二","G";"周八","H";"吴九","I";"郑十","J"},{0;1;0;0;0;0;1;0;0;0})
这里是FILTER函数第一个参数得到的区域与COUNTIF函数计算得到的”陈二“这个人的值作为比较,得到”陈二“出现后的数据。

本函数内容比较多,本集先讲解到这,下集解析更多精彩内容。