繁体   English   中英

Excel-可变长度数字中前导零的可变数目?

[英]Excel - Variable number of leading zeros in variable length numbers?

多年来,我们会员编号的格式已经多次更改,例如00008、9538、746、0746、00746、100125和其他各种排列有效,唯一且需要保留。 从我们的数据库导出到批量更新所需的自定义Excel模板中,会删除前导零,因此00746和0746都被截断为746。

在我们的情况下,无法插入撇号或将其格式化为文本格式,因为在Excel中打开数据时,数据似乎已经被更改。 由于我们的有效数字长度少于五位数且不能添加零,因此无法将其格式化为zip格式。 而且我对“自定义”格式没有任何运气,因为这似乎需要将相同数量的前导零添加到一个数字,或者对每个数字添加足够的零以使它们具有相同的长度。

有什么线索吗? 我希望可以通过某种方式将Excel设置为仅接受给出的内容,而不管它,但事实并非如此! 我将不胜感激任何建议。 提前非常感谢大家!

更新-谢谢大家的帮助! 这里有一些更多细节。 我们正在使用第三方成员资格管理应用程序–我们无法直接访问数据库,我们需要使用其“查询生成器”工具来获取我们要批量更新的数据。 然后,我们使用它们的“模板”格式(称为XLSX)导出,但在后台必须进行某些操作,因为如果尝试导入常规的旧Excel,则会出错。 只有他们的模板有效。

数据在数据库中的格式正确,因为所有数字均在基于Web的管理工具中正确显示。 另外,如果我导出为CSV,将其另存为.txt并将其导入Excel,则数字显示正常。

我所做的与以下ooo的解释类似-我导出了带有错误数字的模板,然后导出为CSV / txt,然后将THOSE数字复制/粘贴到模板中并重新导入。 我没有收到错误,这是我猜到的,但是直到午夜之后,我才能够发现它是否成功! :-(

假设数据库中的数据没有损坏,请尝试从数据库导出到csv或文本文件。

然后可以执行以下操作以确保导入的格式正确

带有逗号分隔符的文本文件:

在此处输入图片说明

在“ Excel数据/从文本”中选择“定界”,然后单击下一步

在此处输入图片说明

在此处输入图片说明

在导入向导的步骤3中。 对于要用作文本的每个列/字段,突出显示该列并选择“文本”

在此处输入图片说明

然后,数据应作为文本放置,并保留前导零。

在此处输入图片说明

同样,所有这些都假定数据库包含非损坏的数据,并且您能够导出简单的文本或csv文件。 它还假定您具有Excel 2010,但可以在所有版本中进行较小的改动。

希望@ooo的答案对您有用。 我主要出于提供信息的目的而提供了另一个答案,并且不想处理评论的约束。

要了解的一件事是,Excel在将“数字外观”数据视为实际数字方面非常积极。 如果您要通过双击打开CSV并让Excel进行处理(而不是使用ooo的仔细过程),这些数字仍然会作为数字出现(没有前导零)。 正如您所发现的,解决此问题的一种方法是在数据上清楚地附加非数字字符(在Excel获得肮脏的手之前),以真正说服 Excel它正在处理的是文本。

现在,如果上传到他们的软件中的文件是以.xlsx结尾的文件,则很可能当前的Excel格式(一种压缩的XML文档,由Excel 2007及更高版本使用)。 我想用“常规旧Excel”来表示.xls (在“兼容模式”下仍适用于较新的Excel)。

因此,以防万一您到目前为止尝试的操作不起作用,在将字符附加到数据末尾之前,仍然有一些方法可以探索。 (我将根据需要更新此答案。)

您将单引号放在正确的轨道上。 在将数字添加到文件时,您需要将其作为文本存储在excel中。

您正在使用什么来创建原始的excel文件/从数据库导出? 这可能是您需要重点关注出口的地方。

例如,一种方法是,您可能会修改数据库导出,以在数字之前包含'符号前缀,以便excel知道将其显示为文本。

我使用公式=text(cell,"# of zeros of the field")添加前面的零个。

例如,单元格C2长度为12345 ,我需要为10个字符长。 我会放=text(c2,"0000000000")

结果将是0000012345

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM