当前时间: 2026-03-23 11:23:00
更新时间: 2026-03-23
分类:未分类
评论(0)
Excel函数实战系列 第10期
Excel函数实战系列 第10期
小伙伴们,今天继续我们的函数实战系列,今天我们更新到第10期。
现有B2:G7列蔬菜销售数据明细,现需根据价格求出总金额。
问题分析:就是根据每个人的购买数量,分别乘以单价,最后公式下拉分别求和。
根据需求和表格的结构,有3个思路,其中第1个取巧,不通用 ,没有后2个通用。
=SUM(TRANSPOSE($K$3:$K$8)*B2:G2)
这种方法取巧,是因为单价表和销售表的品名是一一对应的,这里我们就可以使用TRANSPOSE函数,这个函数是转置函数,就是可以将行转置为列,或将列转置为行,也就是将竖的变为横的,横的变为竖的,这里我们就将单价的价格转置为横的,和数量对应相乘,最后求和,就可以得到结果。
有一点要注意的是,这里需要品名是一一对应的,如果是乱序或者品名数量不一直,最后的求和结果就会出错。
第二种:=SUM(VLOOKUP(IF({1},$B$1:$G$1),$J$3:$K$8,2,)*B2:G2)
=SUM(VLOOKUP(IF({1},$B$1:$G$1),$J$3:$K$8,2,)*B2:G2)
这个方法是用VLOOKUP查找出每个品名的价格,然后再相乘,求和得出结果。
但是VLOOKUP的第1个参数不支持直接用数组的方法,所以好多小伙们会看到这里都是套一个IF({1},$B$1:$G$1),就可以使用了,新手不知道到底是为什么,应该是牵扯到多维引用了,具体我也解释不清,如果需要VLOOKUP的第1个参数是数组,我们就可以直接套用这个公式。
=SUM(SCAN(0,$B$1:$G$1,LAMBDA(X,Y,VLOOKUP(Y,$J$3:$K$8,2,)))*B2:G2)
用到365新函数SCAN,前面简单介绍过,他可以逐一循环扫描指定的数组,然后用VLOOKUP查找循环的每一个值,和数量相乘,最后求和得到结果。
最后2种支持乱序,品名不一一对应都可以使用,比较灵活通用,第1种就比较呆板,在特殊情况可以使用。
好了,这几个公式都不复杂,这样一拆解,很简单,希望小伙伴们能熟练掌握函数的嵌套运用,具体运用到工作中来解决实际的工作需要!
本站文章均为手工撰写未经允许谢绝转载:
夜雨聆风 »
Excel函数实战系列 第10期