当前位置:首页 > 洗衣机 > 文章正文

怎么求商品的最新采购日期及金额

编辑:[db:作者] 时间:2024-08-25 00:51:48

在某平台看到一个提问案例,涉及到数据规范性比较有代表性,拿来给大家分享下。

怎么求商品的最新采购日期及金额

仿照的原数据如图1所示,实在是没有排序的。
便是常用的LOOKUP查找家族也拿它没辙。
本日禀享两种办法办理此问题。

1. 通用版本,利用VLOOKUP只查找第一次涌现的数据特性,先把数据按照名称升序、日期降序的自定义排序办法前辈行排序。
如图2所示。

先用万金油公式把累计次数为1的商品求出来。
=IFERROR(INDEX($J$2:$J$21,SMALL(IF($L$2:$L$21=1,ROW($L$2:$L$21),9999)-1,ROW(1:20))),""),(这里不做详细阐明了,下期单独分享万金油)。
如图3所示的第1列。

先用IF({1,0})构建一个查找区域,用VLOOKUP函数求出日期。
(由于日期实质是数字,这里要修正下数字格式)。
如图4所示。
=VLOOKUP(N2,IF({1,0},$J$2:$J$21,$I$2:$I$21),2,0)

然后求出金额。
如图5所示。

2. OFFICE365及WPS最新版。

提出问题的这个网友说我用的WPS,能不能做出模版往后直接套。
第一步就行不通了,这里该LAMADA及LET函数上场了。

如图6所示,大概要构建查找值 、 排序后新的数组 、 XLOOKUP中的查找区域、XLOOKUP中的结果区域,大概用的函数SORT CHOOSECOLS HSTACK 等等,得到如图7,=SORT(LET(A,A1:C21,B,DROP(SORT(A,,1),-1),C,UNIQUE(CHOOSECOLS(B,2)),HSTACK(C,XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,1),,,-1),XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,3),,,-1))),,1)

(A,A1:C21,B,DROP(SORT(A,,1),-1),C,UNIQUE(CHOOSECOLS(B,2),这里分别把A1:C21 赋值给变量A, DROP(SORT(A,,1),-1)对变量A排序去掉标题复制给B,UNIQUE(CHOOSECOLS(B,2) 提取变量B里的第二列的唯一值赋值给C。

HSTACK(C,XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,1),,,-1),XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,3),,,-1))),,1) ,这里用XLOOKUP搜素模式向上查找模式,也便是末了一个参数选-1。
利用CHOOSECOLS函数把变量B里的第2列、第1列、第3列构建出XLOOKUP家族的商品名称的查找值的查找区域,商品日期的结果列区域、商品金额的结果列区域。
末了把 变量C、 查找的日期及金额用HSTACK函数组合在一块。
如图7所示。

末了嵌套LAMBDA函数,创造只有区域是重复利用的,赋值给变量X。
如图8所示。

LAMBDA函数测试成功,在公式-名称管理器里定义一个名为“SSSS”的函数:fx=ssss(x),这里有点像我们高中学的函数了吧。
我们把LAMBDA里的SORT(LET(A,A1:C21,B,DROP(SORT(A,,1),-1),C,UNIQUE(CHOOSECOLS(B,2)),HSTACK(C,XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,1),,,-1),XLOOKUP(C,CHOOSECOLS(B,2),CHOOSECOLS(B,3),,,-1))),,1)运算规则定义为SSS,函数变量定义为X,X参数必须是跟案例一样的单元格区域。
如图10所示。

终极效果如图11所示。
如果觉得也用欢迎点赞收藏+关注,也可以联系我要源文件作为模版文件。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/xyj/53199.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com