跨SHEET条件汇总

海绵宝宝说你美得让人心碎
填报应用 >> 多sheet填报 >> 多sheet应用 >> 跨SHEET限定条件进行汇总
跨SHEET限定条件进行汇总

1. 描述
多sheet报表在实际项目中应用是比较广泛的,相比较于单sheet报表,多sheet报表一般性功能不会特别的复杂,
下面介绍如何跨sheet并限定条件进行汇总求和。
2. 下面举个简单的小例子进行功能介绍:
1、新建个内置数据集,格式如下:

2891855dc239dd16a9.png
2、在sheet1中如下图配置:
8039755dc2431b52f9.png
3、在sheet2中,单元格A1值为key,单元格B1中输入如下格式:
replace(GREPARRAY('sheet1'!A1+'sheet1'!B1,left(item) == A1),A1,"")备注:该函数的是为了取出sheet1中A1列每组中的B1数值

9611055dc246c827f5.png
4、单元格C1中如图所示配置公式:
EVAL("sum(" + replace(GREPARRAY('sheet1'!A1+'sheet1'!B1,left(item) == A1),A1,"") + ")")
备注:该函数是为了对sheel1中每组的值进行求和计算,EVAL返回表达式exp计算后的结果,
sum求和,GREPARRAY函数(返回true或者false)是条件,过滤此数组,最后形成一个新数组,
left根据指定的字符数返回文本串中的第一个或前几个字符。
169855dc24994b504.png
5、预览实现效果如下:
7155755dc24dfde086.png
4691955dc24f2e8dbd.png

备注:案例中用到了4个函数GREPARRAY、LEFT、REPLACE、EVAL,具体函数用法请参考:
函数列表:http://www.finereporthelp.com/help/13/31/0/folder.html,这里就不详细介绍了。


参与人数 +3 F豆 +101 F币 +300 理由
netforces + 1 赞一个!
小蝴蝶 + 100 神马都是浮云
传说哥 + 300 赞一个!

查看全部评分

发表于 2015-8-26 19:40:10
7519155dda58e215d4.png
发表于 2015-9-11 14:00:13
RT
发表于 2016-9-5 16:53:01
这个很不错。不过,调试中给这个误导了: left(item) 这个在实际环境中没有得到正确的结果,把它改成left(item,len(A1))  就可以了。
发表于 2016-9-8 20:06:53
海宝哥好棒
参与人数 +1 F豆 +1 理由
HaiBao + 1 番薯与你同在

查看全部评分

发表于 2016-9-21 13:49:00
非常需要这个,谢谢LZ
发表于 2016-10-24 15:30:29
ds1.select([3],ccuscode=$b4 && cmemo=$a4)-ds2.select([3],ccuscode=$b4 && cmemo=$a4)
此方法更简单
参与人数 +1 F豆 +1 理由
HaiBao + 1 感谢帮助

查看全部评分

发表于 2017-12-19 09:29:16
学习了,正好用到这个,多谢。
发表于 2018-8-20 16:27:30
我按照你的公式写的,怎么已出租面积取不了数? 编辑于 2018-8-20 16:47  
发表于 2018-11-12 13:07:52
如果sheet1中的数据是填报控件,修改后sheet2的和改变不了?
发表于 2019-8-20 16:16:20
写到帮助文档啊
发表于 2019-8-28 17:25:33
Stefanz 发表于 2019-8-20 16:16
写到帮助文档啊

我帮你@传说哥 管理员
发表于 2021-8-28 09:54:15

同学好。
文末的链接是不是失效了?打不开。

案例中用到了4个函数GREPARRAY、LEFT、REPLACE、EVAL,具体函数用法请参考:
函数列表:http://www.finereporthelp.com/help/13/31/0/folder.html

 

 

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12回帖数 2关注人数 19035浏览人数
最后回复于:2021-8-28 09:55

返回顶部 返回列表