1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 一维转二维汇总统计

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-7 10:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
小白练习一下jsa。
求助一维转置二维统计.rar (19.95 KB, 下载次数: 9)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-7 13:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

向你学习,把数组当字典来用,我咱没有想到

TA的精华主题

TA的得分主题

发表于 2024-10-7 13:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 lizhipei78 于 2024-10-7 13:16 编辑
zpy2 发表于 2024-10-7 09:23
代码能不能贴,贴出来,方便一点手机端学习,谢谢。

我是小白,基本上都不懂得
1.png

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-7 13:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-10-7 15:28 | 显示全部楼层
lizhipei78 发表于 2024-10-7 13:04
向你学习,把数组当字典来用,我咱没有想到

能否像透视表一样添加个行总计,列总计让我学习一下,我怎么也添加不了。

TA的精华主题

TA的得分主题

发表于 2024-10-7 16:47 | 显示全部楼层
yangqianming 发表于 2024-10-7 15:28
能否像透视表一样添加个行总计,列总计让我学习一下,我怎么也添加不了。

https://club.excelhome.net/forum ... 78&pid=11594386
9楼,你看一下

TA的精华主题

TA的得分主题

发表于 2024-10-7 19:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lizhipei78 发表于 2024-10-7 13:07
我是小白,基本上都不懂得

就用这个代码添加行列总计学习一下可以吗?

TA的精华主题

TA的得分主题

发表于 2024-10-7 19:29 | 显示全部楼层
yangqianming 发表于 2024-10-7 15:28
能否像透视表一样添加个行总计,列总计让我学习一下,我怎么也添加不了。

用这个例子代码是动态变化的,所以不知道行列的总计不知道添加到什么位置,我暂时没法解决,如果像我给链接那样子题目,列数是固定的,那么用这个代码完全没有问题。其实你为什么非要一次性遍历完,如果先得出结果,然后再对结果进行一次遍历,那么添加行列汇总就非常简单了,这个又不要增加很多时间。

TA的精华主题

TA的得分主题

发表于 2024-10-7 19:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lizhipei78 发表于 2024-10-7 19:29
用这个例子代码是动态变化的,所以不知道行列的总计不知道添加到什么位置,我暂时没法解决,如果像我给链 ...

有时就喜欢一次性搞定,本来想着可以的但写了一下数据没有合计起来,就想弄弄明白。
  1. function xg(){
  2.         let res=[xm,ny]=[['合同编号','经办人','结算分包商'],[null,null,null]],hj={}
  3.         let arr=Sheets('基础数据').Range('a1').CurrentRegion.Value().slice(1);
  4.         arr.forEach(([a,b,c,d,e,f])=>{
  5.         let k=WorksheetFunction.Text(e,'yyyy年m月');
  6.         let cols=ny[a+e]??=(xm.push(a),ny.push(k)-1);
  7.         hj[a+e]=[0];
  8.         let rows=xm[b+c+d]??=res.push([b,c,d])-1;
  9.         res[rows][cols]??=0,res[rows][cols]+=f;       
  10.         hj[a+e][0]+=f;
  11.         })
  12.         res.push(['合计',,,...Object.values(hj).flat()])
  13.         Sheets('Sheet1').Range('a1').CurrentRegion.Clear();
  14.         Sheets('Sheet1').Range('a1').Resize(res.length,res[0].length).Value2=res;
  15.         Sheets('Sheet1').Columns.AutoFit();
  16. }
复制代码


TA的精华主题

TA的得分主题

发表于 2024-10-8 09:29 | 显示全部楼层
yangqianming 发表于 2024-10-7 19:37
有时就喜欢一次性搞定,本来想着可以的但写了一下数据没有合计起来,就想弄弄明白。

如果只是在最下面一行添加合计,不需要在列的右侧添加小计,你试试下面的代码
微信截图_20241008092826.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

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

GMT+8, 2025-2-17 20:50 , Processed in 0.026674 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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