点击蓝字关注【秋叶 Excel】

发送【7】

免费领 1000+篇 Excel 精选教程!

本文作者:小爽

本文编辑:竺兰

大家好,这里是秋叶编辑部~

在生活中,我们有时会对每天所购买的产品做一个简单的记录。

由于记录的是一维表,当要进行数据分析的时候,我们要对数据进行汇总操作

如下图,我想要知道自己每天购买的商品有哪些,对应的汇总有多少,每天都花了多少钱。

所以,问题又来了,如何将左图转换为右图呢?

看到这种问题,我们的第一反应应该就是使用函数

分步函数做法

从左表到右表一共三列,那我们就一列列来做。

购买日期

由于我们是基于购买日期进行汇总,所以我们对购买日期进行去重操作

Unique 函数就是用来去重的。

在 E2 单元格中输入函数公式:

=UNIQUE($C$2:$C$13)

购买总金额

基于日期按条件进行判断,再对对应的金额进行求和汇总

抓住关键字,条件+求和。

我们不难想到 Sumif 函数(Sum 求和+IF 条件)。

Sumif 函数语法规则如下:

=SUMIF(条件区域,条件,求和区域)

在 G2 单元格中,输入以下函数公式,并下拉填充:

=SUMIF($C$2:$C$13,E2,$B$2:$B$13)

购买明细

先梳理一下思路步骤。

以 2025/7/1 日期为例

❶ 基于 2025/7/1,对数据源按照日期进行筛选

Filter 函数语法规则:

=FILTER(数组,包括,[是否包含空])

如下图所示:

=FILTER($A$2:$B$13,$C$2:$C$13=$E$10)

❷ 将筛选后的产品名称进行分组求和汇总

Groupby 函数语法规则:

=GROUPBY(行字段,值区域,汇总方式,[是否包含标头],[是否显示总计],[排序方式],[筛选区域],[相关方式])

如下图所示:

=GROUPBY(F12:F14,G12:G14,SUM,,0)

❸ 利用合并函数对数据进行合并

Textjoin函数语法规则:

=TEXTJOIN(分隔符,是否忽略空值,文本1,文本2....)

观察数据,我们可以发现分隔符为{"",","}。

对应函数公式,如下图所示:

=TEXTJOIN({"",","},,F16#)

接下来,我们就来整合上面函数。

如下图,输入公式并下拉填充:

=LET(data,FILTER($A$2:$B$13,$C$2:$C$13=E2),gy_data,GROUPBY(CHOOSECOLS(data,1),CHOOSECOLS(data,2),SUM,,0),TEXTJOIN({"",","},,gy_data))

其中,涉及函数简单介绍。

Let 函数

Let 函数是一个自定义函数,用于在公式中定义和使用变量。

使用 Let 函数的好处是,定义变量后方便后续重复调用,这也使得函数公式变得简洁直观。

有点类似名称管理器,不过使用函数更加灵活。

Let 函数语法规则如下:

=LET(名称1,名称值1,计算或名称2,...)

Choosecols 函数

Choosecols 函数能够取指定区域的第n列。

Choosecols 函数的语法规则如下:

=CHOOSECOLS(数组,列数1,[列数2...])

明白了所需的函数,函数公式就不难理解了。

=LET(
    data,FILTER($A$2:$B$13,$C$2:$C$13=E2),
     //对2025/7/1日期进行筛选,获取筛选后的产品名称和数量,数据表。

    gy_data,GROUPBY(CHOOSECOLS(data,1),CHOOSECOLS(data,2),SUM,,0),
     //取data数据第一列也就是产品名称进行分组,取data第二列也就是数量进行求和。 
    
    TEXTJOIN({"",","},,gy_data)
     //对分组后汇总的数据,进行合并。行方向分隔符为空"",列方向分隔符为逗号。
)

上面我们是函数分步做的,如果想要函数公式一步到位呢?

接下来一起看看。

函数一步到位

我们先来看看具体做法。

输入如下函数公式:

=LET(
   g,GROUPBY(CHOOSECOLS(A2:C13,3,1),B2:B13,SUM,,0),
   GROUPBY(
      CHOOSECOLS(g,1),      
      HSTACK(CHOOSECOLS(g,2)&CHOOSECOLS(g,3),CHOOSECOLS(g,3)),     
      VSTACK(HSTACK(ARRAYTOTEXT,SUM),{"购买明细","购买总金额"}),,0)
 )

其中,涉及函数简单介绍。

Hstack 函数

Hstack 函数可以将数组按照横向拼接。

=HSTACK(数组1,数组2...)

Vstack 函数

Vstack 函数可以将数组按照纵向拼接。

=VSTACK(数组1,数组2...)

明白前面分步思路,理解这个函数公式也简单。

❶ 先对日期和产品名称进行分组,变量定义为 g。

❷ 对变量 g 的表,进行按日期分组汇总

GROUPBY(
     CHOOSECOLS(g,1),
     //取g的第一列,也就是日期列
     
     HSTACK(CHOOSECOLS(g,2)&CHOOSECOLS(g,3),CHOOSECOLS(g,3)),
     //取产品名称列和购买金额列,横向拼接作为值区域
     
     VSTACK(HSTACK(ARRAYTOTEXT,SUM),{"购买明细","购买总金额"}),,0)
     //汇总方式

好了,到这里,我们的函数方法就介绍完了。

现在是 AI 时代,我们也来看看它给出的解法,这里我使用 WPS 的灵犀 AI。

灵犀 AI

前面我们基于思考,利用函数解决了问题。

那利用 AI 去解决问题,

Q:最关键的是什么?

A:就是你解决问题的思考步骤,要跟 AI 说。

我将图片上传给灵犀 AI

输入对应的指令:文件信息+要求步骤+整理过程+解决方法

最后灵犀 AI 基于我的思路生成 VBA 代码。

虽然代码比较长,但是也解决了问题。

最后的话

本文讲解的是基于数据源,进行汇总分析的函数和 AI 解法:

分步函数公式,基于一列列拆解完成结果。

① Unique 函数,对购买日期进行去重;

② Sumif 函数,对购买日期筛选后求和;

③ Filter+Groupby+Textjoin,筛选分组合并,对信息进行整合。

一步函数公式,两次分组获取结果。

① Groupby,购买日期+产品名称进行分组;

② 基于上一层分组数据,进行购买日期分组,最后利用 Function 汇总参数,得到结果。

❸ 要利用 AI 解决问题,关键在于思路,不同思路,AI 对应出来的解决方案不同。

工具会变,但是我们处理思路不会变的,无论是 Excel 还是 AI 都一样。

如果你也想掌握 AI 新工具,希望能尽快上手……

那我推荐你加入《秋叶 AI 智能办公 3 天实战营》,秋叶金牌讲师教你学会包括飞书多维表格在内的4 大字节工具(豆包、即梦、Coze),带你快速掌握新工具,提高个人核心竞争力。

《秋叶 AI 智能办公 3 天实战营》

课程原价 99 元

现在仅需 0 元!

秋叶实战派老师直播授课

专业助教随时答疑

多种 AI 工具教学

名额有限,立即扫码预约上课

添加微信即可进群上课

随课免费领取:

6 套飞书多维表格模板

AI 写真主题提示词手册

50+ 秋叶 AI 智能体工具集