excel中用if函数,为什么得出的结果格式不一样(有些在靠左边,有些靠右边,如图),把单元格改为 数值 还是不行

2024-12-05 03:11:45
推荐回答(4个)
回答1:

那是因为你对S2中单位为“天”,“分钟”时都处理为数值,而对“小时”则处理为字符,所以会这样。你不妨试一下以下的公式:
=IF(RIGHT(TRIM(S2),1)="天",VALUE(LEFT(TRIM(S2),LEN(TRIM(S2))-1))*24,IF(RIGHT(TRIM(S2),2)="分钟",VALUE(LEFT(TRIM(S2),LEN(TRIM(S2))-2))/60,IF(RIGHT(TRIM(S2),2)="小时",VALUE(LEFT(TRIM(S2),LEN(TRIM(S2))-2)),TRIM(S2))))
俚这对其它单位还是处理为文本(字符),而文本有EXCEL中默认是左对齐的。如果对数据类型无要求,只是对对齐方式要求统一,可以不必修改公式,只要设置所在的单元格为“右对齐”方式即可(点击“右对齐”按钮)。

回答2:

后面“小时”项的公式没有套上VALUE,结果为文本数据,所以靠左。
改为:
=IF(RIGHT(TRIM(S2),1)="天",LEFT(TRIM(S2),LEN(TRIM(S2))-1)*24,IF(RIGHT(TRIM(S2),2)="分钟",LEFT(TRIM(S2),LEN(TRIM(S2))-2)/60,IF(RIGHT(TRIM(S2),2)="小时",VALUE(LEFT(TRIM(S2),LEN(TRIM(S2))-2)),VALUE(TRIM(S2)))))

回答3:

你公式结果有的是数值型,有的是文本型,当然就有在左边的,有在右边的。
解决方案:公式中的结果都加VALUE或都不加VALUE!

回答4:

设置格式为剧中