ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何通过流水账,得到这种统计表格

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-8 10:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
edwin11891 发表于 2024-11-7 22:50
再来个超长火车,基本实现楼主的想法。目前只是实现目标,没有优化。

哇,学到了  第一次见这么长的火车

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-8 10:45 | 显示全部楼层
mjm04 发表于 2024-11-7 23:44
我是进来看各位老师的大砍刀的~~~~~~

=======================

论坛真的是藏龙卧虎,大佬们太厉害了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-8 10:46 | 显示全部楼层
lanjian229 发表于 2024-11-8 09:42
这个要么vba要么开火车,最好做表的时候做成你最终的表,第一张由目标表生成

记录的话,应该还是第一个表方便吧。反向生成可能也会比较麻烦。
另外主要是怕在目标表记录的话,容易出错。

TA的精华主题

TA的得分主题

发表于 2024-11-8 11:02 | 显示全部楼层
pingerfy 发表于 2024-11-8 10:42
好厉害,这样做好后,重复的单元格可以合并吗?主要是为了方便看

都是函数公式,没有采用透视表。
项目名称函数不能合并,要合并单元格只能VBA。

TA的精华主题

TA的得分主题

发表于 2024-11-8 11:40 | 显示全部楼层
本帖最后由 我要成为专家 于 2024-11-8 11:46 编辑

搞不懂为啥要用这种呈现方式,流水账属于非常好的一维表结构,直接行列透视就可以了呗,公司名称直接一列显示也可以达汇总查看的目的吧。你这样搞,麻烦不说,数据分析什么的也不方便。以上只是猜测,下面属于透视的公式版,更建议用手工操作
  1. =PIVOTBY(HSTACK('1.“流水账”'!B1:B29,'1.“流水账”'!A1:A29,'1.“流水账”'!D1:D29),HSTACK('1.“流水账”'!C1:C29,'1.“流水账”'!E1:E29),'1.“流水账”'!F1:F29,SUM)
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-8 11:59 | 显示全部楼层
我要成为专家 发表于 2024-11-8 11:40
搞不懂为啥要用这种呈现方式,流水账属于非常好的一维表结构,直接行列透视就可以了呗,公司名称直接一列显 ...

这个方式也是自己琢磨的,可能不成熟。如果您有更好的方式,可以发一下表格文件吗

TA的精华主题

TA的得分主题

发表于 2024-11-8 12:38 | 显示全部楼层
pingerfy 发表于 2024-11-8 10:41
这个是需要安装python吧,这个做好后,每次目标表会自动更新吗?还是需要重新运行一次?

源表更新需要重新运行。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-8 13:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-11-8 14:50 | 显示全部楼层
pingerfy 发表于 2024-11-8 13:52
有没有什么方式可以同步更新呢?

M365 自带PQ,用那个搞~~~

以后数据更新,点点刷新就行了

TA的精华主题

TA的得分主题

发表于 2024-11-8 14:59 | 显示全部楼层
优化了一下,火车减少了几个车皮:
  1. =LET(Xa,A2:A29,Xb,B2:B29,Xc,C2:C29,Xd,D2:D29,Xe,E2:E29,Xf,F2:F29,t,DROP(PIVOTBY(HSTACK(HSTACK(MATCH(Xb&Xd,Xb&Xd,),Xb&Xd),Xb,Xd,Xa,Xc),HSTACK(HSTACK(MATCH(Xc,{"总包","分包","采购"},),Xc),HSTACK(MATCH(Xe,{"公司名称","合同金额","开票","收款"},),Xe),Xe),1*Xf,SUM,0,2,1,0),,2),Res,VSTACK(CHOOSEROWS(t,{2,4}),DROP(t,5)),SI,VSTACK("项目",DROP(TAKE(Res,,1),1)),b,CHOOSECOLS(Res,2),sDay,VSTACK("日期",DROP(CHOOSECOLS(Res,3),1)),sType,CHOOSECOLS(Res,4),c,CHOOSECOLS(Res,{5,6,7}),d,CHOOSECOLS(Res,{8,9,10}),e,CHOOSECOLS(Res,{11,12,13}),fy,LAMBDA(XX,VSTACK("XX","公司名称",DROP(IF(sType=XX,b,""),2))),Sz,fy("总包"),Sf,fy("分包"),Sc,fy("采购"),sSI,MAP(SEQUENCE(ROWS(SI)),LAMBDA(x,IF(x<3,INDEX(SI,x),IF(x=ROWS(SI),"汇总",IF(INDEX(SI,x)="",INDEX(SI,x-1),INDEX(SI,x)))))),fx,LAMBDA(XX,MAP(SEQUENCE(ROWS(XX)),LAMBDA(x,IF(x<4,INDEX(XX,x),IF(INDEX(XX,x)<>"",INDEX(XX,x),IF(INDEX(XX,x-1)<>"",INDEX(XX,x-1)&"_小计","")))))),sFinal,HSTACK(sSI,sDay,fx(Sz),c,fx(Sf),d,fx(Sc),e),sFinal)
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 19:51 , Processed in 0.033769 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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