我想在excel中将数字转换为一英尺的小数。这是我的公式
=IF(C2="", "",ROUND(LEFT(C2,FIND("-",C2)-2)+SUBSTITUTE(REPLACE(C2,1,FIND("-",C2),""),CHAR(34),"")/12,4))
如果Cell C2为41-9,则返回4.75 它工作正常,除非excel自动将单元格c2更改为8-8之类的日期。任何想法?
答案 0 :(得分:0)
在输入值之前将C2格式化为文本。然后它不会转换为日期。
但是你的公式仍然不起作用,因为它不能很好地处理足部测量的单个数字。单个数字将导致Left()
函数的空白文本结果,当将该空白文本添加到提取的替换位数时会导致错误。
在N()
周围包裹Left()
函数,这会将空白结果变为零,然后公式有效(假设单元格格式为文本,而不是日期)。
=IF(C2="", "",ROUND(N(LEFT(C2,FIND("-",C2)-2))+SUBSTITUTE(REPLACE(C2,1,FIND("-",C2),""),CHAR(34),"")/12,4))