excel文件中保留相同怎么让表格的日期随实际日期变化最早时间记录和最晚时间记录?

↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓假设一个应用场景如下:当前存在一个产品的记录表,记录着这一个产品对应的日期及状态。同一个产品中存在多条数据,记录产品在不同时间的状态。现在需要根据需求找到最新的一条/最新的n条记录。Excel测试数据如下:产品ID日期记录12020/6/1已投产22020/6/1停产42020/5/1产出23件12020/4/6准备中22020/4/6下线中32020/3/26准备中52020/3/26已投产12020/2/26准备中12020/1/26评估中其中我们需要拿到每个产品最新的记录状态,结果预期如下:产品ID日期记录12020/6/1已投产22020/6/1停产42020/5/1产出23件32020/3/26准备中52020/3/26已投产如果需要求最大/最小值或者前n大/小的数据逻辑是一致的,因为日期实质上也是一个数值,越新的日期值越大,找最新的n条数据就是要找前n大/小的数据。方法一:直接去重求top1首先将数据按照日期从新到旧排序(如果是去重并保留最大或最小值,则按照值排序即可),随后在选项卡中依次点击数据–去除重复项,并选择去重的列。在本例中选择产品ID,去重后即可得到结果这种方法主要是利用Excel在去重时是从上到下遍历的,并且总是保留第一个不重复的值方法二:公式去重求top n将数据按照日期从新到旧排序(如果是去重并保留最大或最小值,则按照值排序即可)在辅助列中输入公式:=COUNTIF($A$2:A2,A2)
并向下填充。这一个公式用到countif公式和单元格的相对/绝对引用,首先countif公式可以对范围内符合条件的值进行计数,从而判断是否存在重复。而计数的范围选择从产品ID第一行开始逐渐增加,这样第一次出现的产品ID在辅助列中为1,第二次出现则辅助列的值为2…从而得到每一个产品ID出现的次数和顺序。这一种方法相较于第一种方法的优点是可以选出每个不重复产品ID的前n个(Top n)值。例如要找每个产品ID的最新的日期,则选取所有的辅助列为1的值即可,如果需要找每个产品IDI的最新的2条记录,则选取辅助列小于等于2的行.同理,求不同的ID/类别/区间的前n的最大值/最小值都是一样的,只要同样按照需求先排序然后添加辅助列即可

我要回帖

更多关于 怎么让表格的日期随实际日期变化 的文章