我有一个像这样的表(第一列):
| Table | What I want to achieve |
|--------|------------------------|
| 088888 | convert to number |
| 88888 | convert to number |
| 588888 | convert to number |
| 688888 | convert to number |
| V44100 | ignore and return text |
| W44101 | ignore and return text |
| S54001 | ignore and return text |
| V44102 | ignore and return text |
| BOLUTY | ignore and return text |
| SHOLIA | ignore and return text |
|--------|------------------------|
该表是从数据库生成的,因此所有数字都被格式化为文本。
我想要一个公式,它有助于将所有文本格式的数字转换为数字,就像上面单元格中的前4个数字一样。公式应该足够聪明,不要试图将文本转换为数字,即当遇到文本时它应该返回实际文本。
我尝试使用=VALUE(A1)
,虽然它适用于上面的前4个数字,但在遇到真实文本时会返回#VALUE错误(上表A列中的最后6个文本。
我有另一个这样的公式(IF(OR(LEFT(A1)='1',LEFT(A1)='2',VALUE(A1),A1)
这可以按照需要运行,但是我要测试前缀数0 through 9
,即IF(OR) 0,1,2,3,4,5,6,7,8,9
等等,这将太长了
如果不使用上述异常长的公式,是否有更短/更简单的方法来实现这一目标?
感谢。
答案 0 :(得分:1)
正如我在评论中提到的那样,使用错误检查来进行质量转换,但如果你仍然坚持使用公式,那么就在这里。
=IFERROR(INT(A1),A1)
编辑:如果您在Col A中有小数值,请使用VALUE
代替INT