本帖最后由 图客 于 2015-12-31 09:38 编辑

这是上海张兄出的一道题:销售业绩用填表公式填写后,要求用一个业务公式给业绩排名次,相同业绩同一名次,名次连续不跳号。

这看起来很简单,就是把业绩从大到小排列,再把名次编上去,相同业绩的编成同一名次。可真的实现起来就也是一个考验业务公式水平的题目。

先看一下准备的数据:


这是模版结构,下面是手工录入的数据(数据可以用表间公式填充,这里测试就没有写了):

  

为了测试方便,定义了一个状态字段:

  

准备工作完成了,下面就开始按要求写业务公式了:

先介绍一下我自已的做法(我的做法复杂执行效率差,唉差距啊!):

1数据接口:

  

这里的业绩表达式用的是:最大值(本模板.明细.业绩)

  

这里的业绩表达式用的是:最大值(本模板.明细.业绩)


注:这里的过滤条件是业绩小于自定义参数业绩。


2业务公式如下:

  

这条公式就是给业绩最大的赋值名次:1

  

  

这条公式就是依次根据前一名次的业绩查找下一名次的业绩,并给赋值名次。

数据源解释:如序号列表为1

名次业绩为:30000

业绩单条记录:

  


找到这两条记录,给名次赋值:1+12

下面介绍上海张兄的实现方式(他的实现方法简便多了):

1张兄用的数据接口:

  

名次表达式为:最大值( 空值替换(本模板.明细.名次,0) ),用空值替换函数原因:因为最初时名次为空,需要给名次给个最初的数值。

  

这个数据接口中要“重复数据只显示一次”勾选上,并且排序为从大到小降序排列。

2、张兄用的业务公式:

清空名次公式:

  

排名次公式

  

  

数据源理解:业绩去重排序数据接口的数值为:30000时,名次最大号为:0,公式赋值名次为0+11。依次业绩为:20000时,名次最大号为1,公式赋值名次为1+12.……

公式执行后,填表公式刷新,就得到结果:

  


+10
4人收藏
14 条回帖
需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询