Excel 文本格式化函数将字符串中的“E”解释为指数

Excel 文本格式化函数将字符串中的“E”解释为指数

我已将一些数据记录从数据库导出到电子表格中,以进行最终格式化。其中一个关键字段是“123456E72”形式的文本。

我有一个格式化公式,可以按以下方式格式化单元格: =TEXT(cell,"000000000")

这导致 excel 将单元格解释为 123456 x 10^72。原始单元格已经是文本,我也尝试手动使用“格式化单元格”作为记录单元格上的文本,我甚至使用文本格式化功能,但仍然得到一个数字?我在 Office 365 中使用 Excel。

答案1

假设您希望所有在左侧用 0 填充的值都变为 9 个字符长(并且所有条目都不超过 9 个字符),您可以尝试:

=IF(ISTEXT(C1),RIGHT("000000000"&C1,9),TEXT(C1,"000000000"))

在此处输入图片描述

答案2

听起来你根本不需要数字到文本的转换 - 为什么不简单地:
=RIGHT("00000000"&A1,9)

答案3

将文本字段导入 Excel 或 LibreOffice calc 时,要保留其原样:

找到一种方法在文本前面添加'- 它将使电子表格无条件地将单元格内容视为文本。

数据库导出意味着使用 SQL,因此请执行:
SELECT column1, "'" + column2, ...
... 将 a 添加'到 column2 的前面。

Excel 和 LibreOffice calc 不会显示此字符,除非您编辑该单元格(例如,在选择单元格的情况下按 F2),也不会在从其他公式引用该单元格时认为它存在。

相关内容