代码之家  ›  专栏  ›  技术社区  ›  Mark A

将前导零/0添加到现有的Excel值中,使其达到一定长度

  •  289
  • Mark A  · 技术社区  · 14 年前

    关于如何防止导入或导出Excel时前导零被去掉,有很多问题和高质量的答案。但是,我已经有了一个电子表格,其中的值被截断为数字,而事实上,它们应该被当作字符串处理。我需要清理数据并添加前导零。

    有一个字段应该是四个字符,前导零将字符串填充为四个字符。然而:

    "23" should be "0023", 
    "245" should be "0245", and
    "3829" should remain "3829"
    

    问题:是否有一个Excel公式将这些0填充回这些值,使它们都是四个字符?

    注意:这类似于旧的邮政编码问题,新英格兰地区的邮政编码的前导零位被删除,您必须将它们重新添加进来。

    7 回复  |  直到 10 年前
        1
  •  503
  •   Martin    12 年前
    =TEXT(A1,"0000")
    

    然而 TEXT function 也可以做其他一些花哨的事情,比如约会。

        2
  •  77
  •   Community CDub    13 年前

    1. 突出显示要设置样式的列/数组。
    2. 点击 控制 1个 或格式->设置单元格格式。
    3. 在“数字”选项卡中,选择“自定义”。
    4. 将自定义格式设置为000#。(零零零#)

    请注意,这实际上不会更改单元格的值。它只显示工作表中的前导零。

        3
  •  16
  •   MonoThreaded    10 年前

    当我意识到这一点时,我试着填充十六进制值 DEC2HEX() 提供了这个功能 免费的 .

    您只需要添加第二个参数。例如,平手转身 12 0C
    DEC2HEX(12,2) => 0度
    DEC2HEX(12,4) => 000C
    ... 等等

        4
  •  9
  •   ProVega    11 年前

    我不确定这在Excel 2013中是否是新的,但如果您右键单击该列并说“特别”,那么实际上有一个预定义的邮政编码和邮政编码+4选项。魔法。

    enter image description here

        5
  •  7
  •   zgirod    8 年前

    =RIGHT("0000" & A1, 4)
    

    每当我需要垫的时候,我都会用上面这样的东西。我个人认为这是最简单的解决方案,也更容易阅读。

        6
  •  1
  •   JeffK627    11 年前

    如果使用自定义格式并需要将这些值连接到其他位置,则可以复制这些值并将特殊值粘贴到工作表中的其他位置(或其他工作表上),然后连接这些值。

        7
  •  1
  •   Nazik mark    6 年前

    REPT(0,2-LEN(F2)&F2
    

    其中2是总位数,对于0~9->它将显示00到09 rest不添加任何内容。