TEXT(A1*B1/C1,"0."&REPT("0",MIN(LEN(A1:C1)-FIND(".",A1:C1))))这个公式能否定义成一个函数?

但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的?... 但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的? 展开
 我来答
awerlasdfwe
2011-12-14 · TA获得超过8831个赞
知道大有可为答主
回答量:2100
采纳率:0%
帮助的人:1099万
展开全部
将公式写在宏里面是可以的,但如果要换一个电脑,仍要将宏重新拷贝一下,操作仍比较麻烦。
这个公式虽然第一次输入比较麻烦,而且是数组公式,但仍然可以进行复制操作。
这个公式是按照向下复制进行设计的,不知是否符合你的要求。

解释一下吧
最外层是一个TEXT函数,用于规定数值的格式。括号中包括两个参数,第一个参数是数值,即A1*B1/C1;第二个参数是数据的格式,0.000。由于小数点后的位数不能直接确定,所以用了字符连接运算公式"0."&Rept(),由Rept函数产生小数点后的0。
Rept函数也包括两个参数,用于返回若干重复的字符串。该函数也包括两个参数,第一个参数是重复的字符,即"0",第二个参数是重复的个数。由于重复的字符个数由前面参与运算的A1、B1、C1三个单元格中位数最小的来决定,因此用了Min函数进行运算,用于计算数组或单元格区域中的最小值。
Min函数的参数是用数组进行计算的,由于A1、B1、C1各单元格的小数点位数不确定,也不便于直接运算,就用了Len函数来计算各单元格数据的字符个数,用Find函数查找小数点在各单元格数值中的位置,两者之差就是小数点的位数。
更多追问追答
追问
这个公式貌似不能对整数形式应用,而EXCEL里单元格常规格式也不能把整数写成小数形式
追答
能不能说的具体一点,你是要一个小数形式的整数,还是要把整数变成小数。
如果是前者,把整数写成保留一位小数点的形式,可以自定义格式:0"."0,这里用TEXT函数:=TEXT(A1,"0.0")是无效的,但可以用公式计算:=LEFT(A1,LEN(A1)-1)&"."&RIGHT(A1,1)。
比如123,就会显示为12.3,但Excel仍按123进行计算。
如果是后者,比如要把123变成12.3,直接用公式进行计算:=A1/10
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式