请问这个公式怎么在finereport里使用?

IMG_20250108_110539.jpg

有的函数不支持。

2025-01-08_140320.jpg

FineReport apengjun 发布于 2025-1-8 08:55 (编辑于 2025-1-8 14:04)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-1-8 09:18(编辑于 2025-1-8 09:20)

常用函数集合插件-https://help.fanruan.com/finereport/doc-view-1493.html

=============

然后就是

ProcessErrorValue(CONCATENATE(A3,":",B3), "0")

  • apengjun apengjun(提问者) 这只是简单的组合没有计算比如2和6就是1:3
    2025-01-08 10:56 
  • snrtuemc snrtuemc 回复 apengjun(提问者) 参考https://bbs.fanruan.com/wenda/question/141967.html,就是帆软的比例
    2025-01-08 11:06 
  • snrtuemc snrtuemc 回复 apengjun(提问者) 哥,换个思路,你讲的2和6也会变1:3了,这个就可以了,
    ProcessErrorValue(CONCATENATE(A3/max(greparray(range(min(A3, B3)), A3 % item = 0 && B3 % item = 0)),":",B3/max(greparray(range(min(A3, B3)), A3 % item = 0 && B3 % item = 0))), "0"),
    2025-01-08 13:40 
  • apengjun apengjun(提问者) 回复 snrtuemc 接近了,就是有个值是0的话全是小数
    2025-01-08 14:11 
  • snrtuemc snrtuemc 回复 apengjun(提问者) 那就先判断是不是0,改个方式,if(or(A3=0,len(A3)=0,B3=0,len(B3)=0),"0",CONCATENATE(A3/max(greparray(range(min(A3, B3)), A3 % item = 0 && B3 % item = 0)),":",B3/max(greparray(range(min(A3, B3)), A3 % item = 0 && B3 % item = 0))))
    2025-01-08 14:21 
最佳回答
0
用户k6280494Lv6资深互助
发布于2025-1-8 08:57

--- 处理返回错误值的公式。ProcessErrorValue(SQRT(), "错误的值"),由于SQRT函数没有给定参数,直接使用的情况下是会返回#NAME的,而用了这个函数,就会返回第二个参数给定的值了(默认为空字符串)。

————————————

常用函数集合插件-https://help.fanruan.com/finereport/doc-view-1493.html

最佳回答
0
CD20160914Lv8专家互助
发布于2025-1-8 09:02(编辑于 2025-1-8 13:40)

以下两个公式

公式方式1:

ProcessErrorValue(CONCATENATE(format(a3/b3,"0"),":",repeat("#",log10(b3)+1)),0)

公式方式2:判断b3为0或者为空的话就返回0,这样除的时候不会报错了

if(len(b3)=0||b3=0,0,CONCATENATE(format(a3/b3,"0"),":",repeat("#",log10(b3)+1)))

-------------------------------------------

text要换成format。然后iferror默认没有,要安装常用函数插件才可以用ProcessErrorValue

1没有这样格式化的,在excel中text也不是这样的,你后面也没有括号 

"#.00"

"0.00" 

这两种是可以的

image.png

然后SUBSTITUTE替换的公式又套在里面,跟了一log10的公式,也没有替换成什么,外面又写了替换的内容,这完全就是在乱写公式!!!

不管你原来的还是现在的,放excel与FR中语法完全是错误的!!!

想象不出来你的公式如何能够有/这个符号。

分开后是这样的类型

FORMAT(A3/B3,"0.00")  这个是正确的

SUBSTITUTE(原来的值,"/",":")  这个是正确的

log10(b3)+1   这个是正确的

我最后自己套进去组合吧。

FORMAT(A3/B3,"0.00")   这样你就算格式化以后它得出的也是文本数字,没有/符号

log10(b3)+1 这样得到的结果也是数字,没有/符号,所以你套用函数要替换/,完全不知道这个/从哪里来的!想象不出来

  • apengjun apengjun(提问者) 那我想做比值显示这里怎么套公式?1:2这种
    2025-01-08 09:17 
  • CD20160914 CD20160914 回复 apengjun(提问者) 安装常用函数插件后才可以用,你的公式看之前的也有错误.text函数格式化的语法不对,然后SUBSTITUTE替换的语法也不对!
    2025-01-08 09:57 
  • apengjun apengjun(提问者) 回复 CD20160914 IFERROR(SUBSTITUTE(TEXT(A3/B3,"0/"#",LOG10(B3)+1)),"/",":"),0)

    ProcessErrorValue(SUBSTITUTE(FORMAT(A3/B3,"0/"#",LOG10(B3)+1)),"/",":"),0)

    第二行改了一下目前就是这个&号不知道用什么替代
    2025-01-08 10:59 
  • apengjun apengjun(提问者) 回复 CD20160914 我说呢,贴进来的字符不算被屏蔽了几个符号
    2025-01-08 11:02 
  • CD20160914 CD20160914 回复 apengjun(提问者) &要用+代替,你的语句 format格式化有问题怎么用"0/"#"而且后面也没有扩展,又来一个log10了?
    2025-01-08 11:24 
  • 4关注人数
  • 135浏览人数
  • 最后回答于:2025-1-8 14:04
    请选择关闭问题的原因
    确定 取消
    返回顶部