提问
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,极速登录

关于公式编写:一组数据,排列无序,如何求最小一半数据的平均值。

lisdie 社区微信达人 初学乍练(Lv1)
发表于 2018-7-9 17:07:04 | 显示全部楼层 |取消关注该作者的回复
关于公式编写:一组数据,排列无序,如何求最小一半数据的平均值呢?我们首先考虑数据若为奇数,数据量怎么定义。这里我们以奇数时多取一数据为例编写公式。


公式为:
  1. AVERAGE(GREPARRAY(split(A5, ","),item<=INDEXOFARRAY(SORTARRAY(split(A5, ",")), ROUNDUP(count(split(A5, ",")) / 2)) ))
复制代码

公式解析:
首先设定A5为扩展单元格。
AVERAGE(数组)  求数组的平均数  
GREPARRAY(array,fn) 过滤符合 fn 条件的 array 数组生成一个新数组 array=split(A5, ",")   fn=item<=INDEXOFARRAY(SORTARRAY(split(A5, ",")), ROUNDUP(count(split(A5, ",")) / 2))
SORTARRAY(array):返回数组array排过序的数组。
NDEXOFARRAY(array, index):返回数组array的第index个元素。
        array=SORTARRAY(split(A5, ",")) 此为从小到大排列   
        index=ROUNDUP(count(split(A5, ",")) / 2) 判断A5有几个数字/2 ,结果向上取整,也就是如果为奇数的时候,向上保留,即7/2=3.5 =4

也就是排序之后生成新的有序数组,然后获取到数字个数之后取最中间的那个值,以此值为条件过滤原始数组,生成新的数组即小于中间数的数组,然后求平均值。



本问题是由本人在帆软报表交流qq群里提问,并由【管理员】瑞诚科技承接帆软相关项目-星痕为我解答,解答过程可以说得上是掏心掏肺。在此非常感谢帆软管理人员的帮助!并在此对学到的知识进行分享。
此帖共有 77 位番薯登录后查看
回复

使用道具 举报

星痕 社区微信达人番薯互助团队 文档共创团队 互助叫兽、助理编辑、VIP1
发表于 2018-7-9 17:15:42 | 显示全部楼层 |取消关注该作者的回复
我不是官方人员
  • 评论

回复 支持 反对

使用道具 举报

糕沫酱 社区微信达人实名认证 渐入佳境(Lv2)
发表于 2018-7-9 19:05:21 | 显示全部楼层 |取消关注该作者的回复
  • 评论

回复 支持 反对

使用道具 举报

syshanlu 社区微信达人实名认证 初学乍练(Lv1)
发表于 2018-7-10 08:46:51 | 显示全部楼层 |取消关注该作者的回复
昨天在群里看你们争论了半天。233333
  • 评论

回复 支持 反对

使用道具 举报

白开水_ 社区微信达人 渐入佳境(Lv2)
发表于 2018-7-10 13:49:42 | 显示全部楼层 |取消关注该作者的回复
  • 评论

回复 支持 反对

使用道具 举报

沈阳易泰电子 实名认证 渐入佳境(Lv2)
发表于 2018-7-12 09:07:01 | 显示全部楼层 |取消关注该作者的回复
  • 评论

回复 支持 反对

使用道具 举报

luoziqin 社区微信达人 初学乍练(Lv1)
发表于 2018-9-13 12:36:55 | 显示全部楼层 |取消关注该作者的回复
FINEBI里面的A5是怎么定义的?第一列第五行?
  • 评论

回复 支持 反对

使用道具 举报

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

本版积分规则

what a fine day
任务进行中

联系管理员@兔子酱|联系帆软|免责声明|手机版|帆软社区|Copyright © 帆软软件有限公司 ( 苏ICP备14031611号-3 )

GMT+8, 2018-12-13 15:07 , Processed in 0.457512 second(s), 116 queries , Gzip On.

返回顶部 返回列表