典型函数应用

编辑
文档创建者:印然 (67260 )     浏览次数:3653次     编辑次数:15次     最近更新:zrh197218 于 2018-02-23     

目录:

1. 小数显示成千分位样式编辑

单元格属性>样式>格式里面,只有百分位的数据显示格式,没有千分位的,那么如果要将小数显示为千分位,则就需要通过公示来解决了。
千分位的数据时由一个千分位符号和小数数据乘以1000组成的,那么就可以在公式形态中将这个千分位符号和扩大1000倍之后的数据进行组合,如下:
选择单元格属性表>形态>公式形态,公式为:$$$*1000+"‰",$$$表示获取当前单元格的值。

2. 显示当前季度数据编辑

在进行参数过滤的时候,希望只显示当前月份所在季度的数据。
在过滤界面选择公式,写入公式:=roundup(month(today())/3)即可只显示当前月份所在季度的数据。
注:roundup()函数的意思是向上取整。

3. 获取月份或日期的时候显示2位编辑

在使用公式month()或者是day()的时候,如果月份或日期是一位数,则显示出来的也只有一位数,比如说1月9号,获取月份时显示的是1,而不是01,获取日期时,显示的是9,而不是09,如果需要获取到01或者是09,这个该如何通过公式实现呢?
3.1 公式实现
月份公式:=right(concatenate('0',MONTH(today())),2),
日期公式:=right(concatenate('0',day(today())),2)
公式理解:通过concatenate将获取到的月份前面拼接一个0,比如说11月,则显示011,如果是2月,则显示02,然后通过right方法,获取右边的2位数字,比如说2月,截取2位数字,则为02,比如12月,截取右边的两位,则为12。
或者还可以通过format来格式化字符串,如下:
月份公式:= FORMAT(MONTH(TODAY()), "00")
日期公式:= FORMAT(day(TODAY()), "00")

3.2 自定义函数实现
如果觉得上面写的公式太麻烦,则可以通过自定义函数实现,代码如下:
package com.fr.function; import com.fr.script.AbstractFunction; public class Add0 extends AbstractFunction { public Object run(Object[] args) { String result = args[0].toString(); if(result.length() == 1) result = '0' + result; return result; } }

自定义函数的详细定义步骤请参照自定义函数

4. 利用日期函数生成唯一编号编辑

通过uuid()函数可以生成一串随机字符串,但有些情况下需要生成带年月日时分秒这样的字符串,类似china20170726144516这样的编号,可以直接利用时间公式和字符串拼接函数来实现。

在单元格中写入公式:

=:"china" + FORMAT(now(), "yyyMMddhhmmss")

结果为字符串china加当前年月日时分秒各两位。如:china20180101124516

注:一般编号非必要的情况下不要全用数字,因为在导入导出到EXCEL时数字有可以出错。

附件列表


主题: 设计思路
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201