找回密码
 立即注册

QQ登录

只需一步,快速开始

yin_tb

高级会员

53

主题

200

帖子

1077

积分

高级会员

积分
1077

微信认证勋章

yin_tb
高级会员   /  发表于:2022-4-26 12:17  /   查看:3557  /  回复:6
1金币
如题,我有两个自定义函数,一个Get_Year() ,一个Get_Month(),单独给单元格做为公式,返回值都正常。我将函数中的返回值,也ToString 为字符型了。
问题是:我给一个单元格赋值公式为: Get_Year() +"年"+Get_Month()+"月"   ,此时,Get_Year()的值是2016  ,Get_Month() 是1,
计算后,返回的结果,竟然是4034,这个4034,肯定是经过计算了。
我如何能取得我要的结果:2016年1月

最佳答案

查看完整内容

excel内置公式中,字符串和数字连接可以用“&”这样数字也会被作为字符串处理,比如你说的 这个我不确定对于你这边自定义公式是否可行,你可以先试一下,你刚刚提到的Get_Year() ,Get_Month()是自定义的,所以我才让你提供demo

6 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-26 12:17:25
来自 4#
excel内置公式中,字符串和数字连接可以用“&”这样数字也会被作为字符串处理,比如你说的
  1. =YEAR(NOW())&"年"
复制代码
image.png38580931.png

这个我不确定对于你这边自定义公式是否可行,你可以先试一下,你刚刚提到的Get_Year() ,Get_Month()是自定义的,所以我才让你提供demo
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-26 15:16:30
2#
麻烦上传一个重现问题的demo上来,我帮你看一下问题原因
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-26 15:38:25
3#
马老师,不是我懒哈,不用我做DEMO。你用系统自带的函数功能,一试就出来了:在Spread的设计器中,
系统的函数 YEAR(NOW()) 是返回年的,你用 YEAR(NOW()) +"年"  ,系统不能算出来,你看是为什么,该怎么写呢?
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-26 15:57:56
5#
我在设计器中,用YEAR(NOW()) &"年"   ,不用+号用&,是可以的。但自定义的函数的公式,
get_year()&"年" ,如果get_year()的值是2016,这时,结果是20162016 ,两个2016了,我再研究下吧
回复 使用道具 举报
yin_tb
高级会员   /  发表于:2022-4-26 16:05:51
6#
我知道原因了,唉,又犯了个低级错误。我的自定义函数,在计算前,有个替换参数的功能,它引起的。
不过总结了一点,字符间连接是用&而不是+。
谢谢马老师。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-4-26 18:17:57
7#
不客气,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部