有一组数据,数据大概有几万行,一列显示的是城市明细,一列显示的是商品明细。城市和商品都有重复的数据,现在需要统计有几个唯一的城市,每个城市销售的商品有几个(唯一)?这些商品的明细分别是什么?

需求:通过公式快速实现这些统计需求。

效果如下图1所示:

统计每个城市的唯一商品明细

图 1

需求分析:

通过观察可以发现,这又是一个类似“表格变形”的需求,不过好在这个表格的基准就是一个标准的一维数据,用一维数据变形成二维数据的方法也有多种,最简单方便的就是用筛选函数加去重函数,配合文本连接函数就可以快速转二维了。

删除重复项:

城市这一列是明显有重复项目的,所以需要用到的函数就是删除重复项函数UNIUQE,这个函数一般用于二维数据其中一个维度的建模。

录入函数:

=UNIQUE(B3:B17)

函数释义:

对B3:B17区域进行重复项删除,保留唯一值;

效果如下图2所示:

统计每个城市的唯一商品明细

图 2

筛选去重数据:

城市去重后,就需要找出城市对应的商品明细,这个需求本质上就是筛选城市。

录入函数:

=FILTER($C$3:$C$17,$B$3:$B$17=E3)

函数释义:

筛选B3:B17城市明细中等于E3上海的商品明细C3:C17,返回的结果就是城市对应商品明细。

效果如下图3所示:

统计每个城市的唯一商品明细

图 3

筛选出对应城市商品明细后,发现商品这边有重复项目,所以需要再外面再嵌套一层删除重复项函数UNIQUE。

录入函数:

=UNIQUE(FILTER($C$3:$C$17,$B$3:$B$17=E3))

函数释义:

对商品明细中的重复项目进行删除,并保留唯一值;

效果如下图4所示:

统计每个城市的唯一商品明细

图 4

判断商品数和明细:

商品明细删除重复项目后,就可以对商品进行统计数量了,再外嵌套一层ROWS就可以统计数量了,ROWS是判断数组有多少行,并返回行为数量,相当于统计了商品的数量:

录入函数:

=ROWS(UNIQUE(FILTER($C$3:$C$17,$B$3:$B$17=E3)))

函数释义:

对删除筛选后城市对应商品明细的数据判断行数。

效果如下图5所示:

统计每个城市的唯一商品明细

图 5

最后一个需求就是城市对应的明细,这个需求是需求把多个单元格合并到一个单元格,所以需要用到文本合并函数TEXTJION。

录入函数:

=TEXTJOIN(“、”,,UNIQUE(FILTER($C$3:$C$17,$B$3:$B$17=E3)))

函数释义:

把删除筛选后城市对应商品明细进行合并,并用符号“、”相隔开。

效果如下图6所示:

统计每个城市的唯一商品明细

图 6

相关新闻

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

立即咨询 企业版试用 上门服务

请您留言

感谢您的关注,你可留下联系方式,我们将第一时间与您联系。