不用熬夜筛数据!Excel找最后日期+最新OR最低报价,3个技巧效率翻倍
案例一 最后一次日期
要求:销售金额为正数数,且销售金额持续上升的最后一次日期
公式
INDEX(A4:A8,MATCH(1,(B5:B8B4:B8)\*(B4:B80),0))
数组 A4:A8
行序数
MATCH(1,(B5:B8B4:B8)\*(B4:B80),0)
MATCH函数公式解析
MATCH(1,(B5:B8B4:B8)\*(B4:B80),0)
查找值 1
查找区域 (B5:B8B4:B8)\*(B4:B80)
匹配类型 0
条件1 B4:B8 >0,当前行的B列值大于0
条件2 B5:B8<B4:B8,当前行的B列值大于下一行的B列值;
是一个逐元素比较的布尔运算表达式。它的作用是比较两个范围中对应位置的值,并返回一个布尔值数组(TRUE 或 FALSE)
条件1与条件2相乘,表示两者都满足
若某行同时满足 B列值 > 下一行值 且 B列值 > 0,则该位置为 1,否则为 0
案例二 最新含税单价
要求:求每个编码各自的最新含税单价,若采购日期相同,则取最低值
公式
INDEX(SORT(FILTER(A$17:C$26,B$17:B$26=B18),{1,3},{-1,1}),1,3)
INDEX函数对排序的结果进行取值,因为已经通过SORT函数进行排序处理了,所以最新的采购日期位于第一行,最新的含税单价在第三列
数组
SORT(FILTER(A$17:C$26,B$17:B$26=B18),{1,3},{-1,1})
行序数 1
列序数 3
FILTER函数公式解析
对编码进行过滤
FILTER(A$17:C$26,B$17:B$26=B25)
数组 A$17:C$26
包括 B$17:B$26=B25
FILTER函数结果显示
SORT函数公式解析
SORT(FILTER(A$17:C$26,B$17:B$26=B18),{1,3},{-1,1})
对FILTER函数过滤的结果进行排序
数组 FILTER(A$17:C$28,B$17:B$28=B18)
排序依据 {1,3},先按照第一列【采购日期】进行排序,再按照第三列【含税单价】进行排序
排序顺序 {-1,1},【采购日期】按照降序排序,【含税单价】按照升序排序
SORT函数结果显示
案例三 最低报价单位
要求:根据H列匹配出最低的报价单位
方法一
FILTER($C$1:$F$1,$C2:$F2=$H2)
数组 $C$1:$F$1
包括 C2:$F2=$H2
方法二
INDEX($C$1:$F$1,MATCH(H2,C2:F2,))
数组 $C$1:$F$1
MATCH函数公式解析
MATCH(H2,C2:F2,)
查找值 H2
查找区域 C2:F2
方法三
TEXTJOIN(",",,IF(H2=C2:F2,$C$1:$F$1,""))
分隔符 “,”
字符串 IF(H2=C2:F2,$C$1:$F$1,"")
IF函数公式解析
IF(H2=C2:F2,$C$1:$F$1,"")
测试条件 H2=C2:F2
真值 $C$1:$F$1
假值 ""
最终结果显示