这是一段话,怎么把每次罚款后面变化的数字转换成大写

image.png

FineReport sw0414 发布于 2021-3-23 16:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-3-23 22:25

WorkBook851.cpt

——————————

这种公式支持无线扩展,灵活运用!

——————————

replace(CONCATENATE(left(A1, find(JOINARRAY(GREPARRAY(split(A1, ""), regexp(item, "[0-9|.]")), ""), A1) - 1), CNMONEY(JOINARRAY(GREPARRAY(split(A1, ""), regexp(item, "[0-9|.]")), "")), right(A1, len(A1) - (find(JOINARRAY(GREPARRAY(split(A1, ""), regexp(item, "[0-9|.]")), ""), A1) + len(JOINARRAY(GREPARRAY(split(A1, ""), regexp(item, "[0-9|.]")), "")) - 1))),"圆整","")

image.png

  • sw0414 sw0414(提问者) replace(CONCATENATE(left(A1, find(JOINARRAY(GREPARRAY(split(A1, \"\"), regexp(item, \"[0-9|.]\")), \"\"), A1) - 1), CNMONEY(JOINARRAY(GREPARRAY(split(A1, \"\"), regexp(item, \"[0-9|.]\")), \"\")), right(A1, len(A1) - (find(JOINARRAY(GREPARRAY(split(A1, \"\"), regexp(item, \"[0-9|.]\")), \"\"), A1) + len(JOINARRAY(GREPARRAY(split(A1, \"\"), regexp(item, \"[0-9|.]\")), \"\")) - 1))),\"圆整\",\"\")
    2021-03-25 15:00 
  • sw0414 sw0414(提问者) 全放进去?
    2021-03-25 15:00 
  • zsh331 zsh331 回复 sw0414(提问者) 对,demo都给你了!
    2021-03-25 15:02 
  • sw0414 sw0414(提问者) 2021年03月25日 10时33分,南宁测试执法机构执法人员南一、南二,在G75/线K2143+100至2210+100发现,南宁市歌迷企业管理有限公司(桂FB1573)高压电线和输送易燃易爆或者其他有毒有害气体、液体的管道,并作出行政处罚罚款3000元的决定。
    2021-03-25 16:01 
  • sw0414 sw0414(提问者) 大神你复制上面的文本进去,看看能处理嘛。这个字段拼接的时候都会带日期的
    2021-03-25 16:02 
最佳回答
0
巴拉巴拉1234Lv6初级互助
发布于2021-3-23 16:55

中间插入(CNMONEY(number,unit)返回人民币大写。)函数

https://help.fanruan.com/finereport/doc-view-824.html?source=1

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-3-23 16:56(编辑于 2021-3-29 11:37)

如果处理结果内容格式一成不变,都已:“罚款XXXXXX元的决定” 结尾,那可以整个处理结果倒序(REVERSE)后取出(mid)元和款罚之间的数字再将数字倒序,最后将金额转大写即可。

PS:先倒序再取数是为了防止前面一长串文字中也有罚款字眼

WorkBook1.cpt

有很大的局限性,最好找个大神用正则表达式替换就更好了

  • sw0414 sw0414(提问者) REVERSE 能给个模板吗、怎么取出
    2021-03-29 11:01 
  • 3关注人数
  • 584浏览人数
  • 最后回答于:2021-3-29 11:37
    请选择关闭问题的原因
    确定 取消
    返回顶部