FIND和MID函数产生文本格式的答案


0

我尝试捕获单元格中的内容,删除了小数点和最后一位数字。结果有效,但现在是“文本”结果。

  • 例如,B4包含145.35
  • C4单元格为=IF(IFERROR(FIND(".",B4),0)>0,MID(B4,FIND(".",B4)-1,1),"0"),结果为145
  • D4单元格为=IF(IFERROR(FIND(".",B4),0)>0,MID(B4,FIND(".",B4)+1,1),"0"),结果3
  • E4单元格为=concatenate(c4,d4),结果1453

E4将产生文本格式的答案。我需要使用数字格式,因为我将使用另一个公式。


请注意,超级用户不是脚本编写服务。如果您告诉我们到目前为止您已经尝试过什么(包括您正在使用的任何脚本)以及遇到的困难,那么我们可以尝试帮助解决特定的问题。您还应该阅读如何问一个好问题?
DavidPostill

您应该可以使用VBA代码做到这一点,查找字符串操作函数,google vb字符串操作
SeanClt

您是否尝试将单元格或列设置为数字格式?
CharlieRB

Answers:


1

要将文本强制转换为数字,请添加零或乘以1。真正不需要Concatenate()。&运算符要短得多:

=(C4&D4)+0

另一种方法:如果只想舍去小数点,可以使用Int()代替MID(),结果将是一个数字。

=Int(B4)

如果要保留第一个十进制字符,请将B4中的值乘以10,然后用Int()截断小数

=Int(B4*10)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.