TEXT(A1*B1/C1,"0."&REPT("0",MIN(LEN(A1:C1)-FIND(".",A1:C1))))这个公式能否定义成一个函数?但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/14 18:22:25
TEXT(A1*B1/C1,"0."&REPT("0",MIN(LEN(A1:C1)-FIND(".",A1:C1))))这个公式能否定义成一个函数?但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的?
TEXT(A1*B1/C1,"0."&REPT("0",MIN(LEN(A1:C1)-FIND(".",A1:C1))))这个公式能否定义成一个函数?
但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的?
TEXT(A1*B1/C1,"0."&REPT("0",MIN(LEN(A1:C1)-FIND(".",A1:C1))))这个公式能否定义成一个函数?但是每次要得出结果都要输入这么长一串,能不能直接调用这个函数然后在()里直接输入运算式就可以的?
将公式写在宏里面是可以的,但如果要换一个电脑,仍要将宏重新拷贝一下,操作仍比较麻烦.
这个公式虽然第一次输入比较麻烦,而且是数组公式,但仍然可以进行复制操作.
这个公式是按照向下复制进行设计的,不知是否符合你的要求.
最外层是一个TEXT函数,用于规定数值的格式.括号中包括两个参数,第一个参数是数值,即A1*B1/C1;第二个参数是数据的格式,0.000.由于小数点后的位数不能直接确定,所以用了字符连接运算公式"0."&Rept(),由Rept函数产生小数点后的0.
Rept函数也包括两个参数,用于返回若干重复的字符串.该函数也包括两个参数,第一个参数是重复的字符,即"0",第二个参数是重复的个数.由于重复的字符个数由前面参与运算的A1、B1、C1三个单元格中位数最小的来决定,因此用了Min函数进行运算,用于计算数组或单元格区域中的最小值.
Min函数的参数是用数组进行计算的,由于A1、B1、C1各单元格的小数点位数不确定,也不便于直接运算,就用了Len函数来计算各单元格数据的字符个数,用Find函数查找小数点在各单元格数值中的位置,两者之差就是小数点的位数.