ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 达人们,想要个更自动的公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-11-7 12:25 | 显示全部楼层
在数据透视表里加2个计算字段

局部截取_20241107_122227.png
QQ截图20241107113027.png
QQ截图20241107113107.png
QQ截图20241107113115.png

book1.zip

18.1 KB, 下载次数: 4

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-11-7 13:47 | 显示全部楼层
。。。。。。。。。

book2.rar

33.24 KB, 下载次数: 3

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-7 13:52 | 显示全部楼层
wintroop 发表于 2024-11-7 12:25
在数据透视表里加2个计算字段

请问怎么将一级名称和客户分到两列的,我做数据透视表只能显示在一列

TA的精华主题

TA的得分主题

发表于 2024-11-7 15:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
=LET(T,GROUPBY(HSTACK(A2:A57,B2:B57),C2:D57,SUM,0,0),_T,CHOOSECOLS(T,3)-CHOOSECOLS(T,4),HSTACK(CHOOSECOLS(T,1,2),TEXT(_T,"0;!0;0"),TEXT(_T,"[<0];[>0]_T;")))

TA的精华主题

TA的得分主题

发表于 2024-11-7 15:43 | 显示全部楼层
662092ww 发表于 2024-11-7 13:52
请问怎么将一级名称和客户分到两列的,我做数据透视表只能显示在一列

数据透视表上点击右键——>数据透视表选项——>显示——>勾选 经典数据透视表布局
勾选后就会变成2列,但是一级名称目前是不重复的,去报表布局——>重复所有项目标签
1.png
2.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-7 15:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wintroop 发表于 2024-11-7 12:25
在数据透视表里加2个计算字段

请教下 如果我想增加一个计算列,如果一级名称是应收账款且贷方余额>0,  该行对应名称为“预收款项”,如果一级名称是应收账款且借方余额>0,  该行对应名称为“应收账款”

这如何做到

TA的精华主题

TA的得分主题

发表于 2024-11-7 16:13 | 显示全部楼层
科目余额表应该是一个科目对应一个余额,我看到应收账款的客户A有4个借方,1个贷方,为什么会有多个余额呢?

TA的精华主题

TA的得分主题

发表于 2024-11-7 16:13 | 显示全部楼层
Python+Pandas:
import pandas as pd

df = pd.read_excel('Sample559.xlsx', usecols='b,g,o,p', header=1)
df1 = df.groupby(df.columns[:2].to_list()).sum()
df2 = df1.copy()
df2['期末借方'] = df1.apply(lambda x: x.iloc[0] - x.iloc[1] if x.iloc[0] > x.iloc[1] else 0, axis=1)
df2['期末贷方'] = df1.apply(lambda x: x.iloc[1] - x.iloc[0] if x.iloc[1] > x.iloc[0] else 0, axis=1)
df2
image.png

TA的精华主题

TA的得分主题

发表于 2024-11-7 19:06 | 显示全部楼层
本帖最后由 wintroop 于 2024-11-7 20:05 编辑
662092ww 发表于 2024-11-7 15:50
请教下 如果我想增加一个计算列,如果一级名称是应收账款且贷方余额>0,  该行对应名称为“预收款项”,如 ...

按你8楼说的来修改对应名称,写出来的公式长度超过了数据透视表的计算字段允许的最大长度,
所以换个解决方法:PQ解法

结果见结果表的O列到R列,另外T1和T2为辅助单元格,用于获取当前文件路径。

科目余额表更新后,先点击保存,再在结果数据上点击右键,选择刷新。

11.PNG

book2.zip

32.5 KB, 下载次数: 2

TA的精华主题

TA的得分主题

发表于 2024-11-8 09:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
R/S列的内容可以用UNIQUE(HSTACK(B3:B100,G3:G100))这个去重,不用手动筛选,后面可以运用你的公式,另外也可以下面公式生成整个四列的内容
  1. =LET(s,GROUPBY(HSTACK(B3:B100,G3:G100),O3:P100,SUM,0,0,-1),t,CHOOSECOLS(s,3)-TAKE(s,,-1),HSTACK(TAKE(s,,2),IF(t>0,t,),IF(t<0,-t,)))
复制代码
g.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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