ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 315|回复: 12

[已解决] 拼半天也没拼成功,想看一下高手代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-25 15:46 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 wp231957 于 2024-9-25 16:13 编辑

数据源在左侧  想拼成右侧的哪一种 都可以
有高手给出GROUPBY的办法了,这个超简单,那么堆叠+REDUCE的方案 有吗

image.png

788.rar

8.96 KB, 下载次数: 23

TA的精华主题

TA的得分主题

发表于 2024-9-25 15:49 | 显示全部楼层
=GROUPBY(F5:G13,H5:H13,SUM,0,0)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 15:51 | 显示全部楼层
leepoison 发表于 2024-9-25 15:49
=GROUPBY(F5:G13,H5:H13,SUM,0,0)

哦,原来是他的活啊   那用各种堆叠和循环呢

TA的精华主题

TA的得分主题

发表于 2024-9-25 15:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ovxyz 于 2024-9-25 15:57 编辑

=GROUPBY(F4:G13,H4:H13,SUM,3,0)
已经有人回复了,
既然你也提了别的问题,如果没有这个函数,
就用unique结合sumifs
=UNIQUE(F5:G13)
=SUMIFS($H$5:$H$13,$F$5:$F$13,T5,$G$5:$G$13,U5)
image.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-9-25 15:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 hxj119 于 2024-9-25 16:00 编辑
  1. =LET(a,SORT(UNIQUE(F5:G13),1,1),REDUCE(F4:H4,SEQUENCE(ROWS(a)),LAMBDA(x,y,VSTACK(x,HSTACK(INDEX(a,y,),SUM(FILTER(H5:H13,(F5:F13=INDEX(a,y,1))*(G5:G13=INDEX(a,y,2)))))))))
复制代码
一个公式reduce堆叠

1727251583341.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-25 16:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ovxyz 发表于 2024-9-25 15:52
=GROUPBY(F4:G13,H4:H13,SUM,3,0)
已经有人回复了,
既然你也提了别的问题,如果没有这个函数,

你这貌似用到了辅助单元格吧

如果不用辅助,我这样写成功了,
=LET(a,SORT(UNIQUE(F5:G13)),VSTACK({"名称","物品","数量"},HSTACK(a,SUMIFS(H5:H13,F5:F13,CHOOSECOLS(a,1),G5:G13,CHOOSECOLS(a,2)))))
公式虽然不短,但是容易理解

TA的精华主题

TA的得分主题

发表于 2024-9-25 16:52 | 显示全部楼层
wp231957 发表于 2024-9-25 16:18
你这貌似用到了辅助单元格吧

如果不用辅助,我这样写成功了,

很好,既然懂新函数,那就好处理了。

TA的精华主题

TA的得分主题

发表于 2024-9-25 20:56 | 显示全部楼层
  1. =GROUPBY(F4:G13,H4:H13,SUM,3,0)
复制代码
  1. =LET(T,F5:F13,_T,UNIQUE(T),REDUCE({"名称","物品","数量"},_T,LAMBDA(X,Y,LET(_X,FILTER(G5:H13,Y=T,""),IFNA(VSTACK(X,HSTACK(Y,GROUPBY(CHOOSECOLS(_X,1),CHOOSECOLS(_X,2),SUM,0,0))),"")))))
复制代码
  1. =LET(T,F5:F13,_T,UNIQUE(T),REDUCE({"名称","物品","数量"},_T,LAMBDA(X,Y,VSTACK(X,IFNA(HSTACK(Y,{"桌椅";"板凳";"沙发"},SUMIFS(H5:H13,F5:F13,Y,G5:G13,{"桌椅";"板凳";"沙发"})),Y)))))
复制代码
1.jpg
2.jpg
3.jpg

TA的精华主题

TA的得分主题

发表于 2024-9-26 09:50 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
//select * from 分组求和原始数据 limit 20;
select 名称,物品,sum(数量) from 分组求和原始数据 group by 名称,物品;
select udf_clean_rpt_ent(名称,'a') 名称,物品,sum(数量) from 分组求和原始数据 group by 名称,物品;
create temp table aa as
select 名称 from 分组求和原始数据 group by 名称;
create temp table bb as
select 物品 from 分组求和原始数据 group by 物品;
select 名称,物品,sum(数量) As 小计 from aa,bb left join 分组求和原始数据 using(名称,物品) group by 名称,物品;

3种视图
Screenshot_2024-09-26-09-46-51-925_com.mmbox.xbrowser.pro.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-9-26 09:57 | 显示全部楼层
zpy2 发表于 2024-9-26 09:50
//select * from 分组求和原始数据 limit 20;
select 名称,物品,sum(数量) from 分组求和原始数据 group b ...

是wps吗  sql应用没那么宽   要求表格必须十分标准  
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-27 11:38 , Processed in 0.059527 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表