我有一列文本和文本格式的数字。如果是数字;转换。如果是文本;返回文本

时间:2013-11-24 22:41:01

标签: excel excel-formula excel-2010

我有一个像这样的表(第一列):

| 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等等,这将太长了

如果不使用上述异常长的公式,是否有更短/更简单的方法来实现这一目标?

感谢。

1 个答案:

答案 0 :(得分:1)

正如我在评论中提到的那样,使用错误检查来进行质量转换,但如果你仍然坚持使用公式,那么就在这里。

=IFERROR(INT(A1),A1)

enter image description here

编辑:如果您在Col A中有小数值,请使用VALUE代替INT