【问题标题】:Padding a word with spaces to fill a cell用空格填充单词以填充单元格
【发布时间】:2015-06-04 12:11:45
【问题描述】:

是否可以用空格填充单元格以确保其长度正确?

这是一个* 表示空格的示例。

Input    Output
-----    ------
red      red**
blue     blue*

单词用空格填充,以确保单元格内容长度为 5 个字符。

【问题讨论】:

  • 当输入为 e.g. 时会发生什么turquoise 即超过 5 个字符的限制?截断为turqu?保持原样?还有什么?并且:你到底为什么要首先用空格填充一个单元格?你想达到什么目的?
  • 相关,但对于用零填充的数字:stackoverflow.com/questions/28943527/…
  • 您的意思是更新与输入相同的单元格吗?
  • 如果太长最好截断。
  • 输入字段与输出字段是分开的,如果太长会被截断。

标签: excel excel-formula


【解决方案1】:

试试这个:

=LEFT(A1&"*****",5)

我们添加了很多星星(*),然后从left 5 个字符中删除。

【讨论】:

  • 此方法可以反过来为要导出到数据库的特殊数字提供前导零。某些部件号、序列号,尤其是 DUNS 号必须用前导零填充到固定长度。 =RIGHT("000000000" & A1, 9) 将产生正确的结果。
  • @Jeeped 是的,这就是我将数字填充为相同长度的方式。另一种选择是=TEXT(A1,"0000")stackoverflow.com/a/3992588/680068
【解决方案2】:

根据建议的评论:

=LEFT(A1 & REPT("*",5),5)

原文:

=A1 & REPT("*",5-len(A1))

主要优点是您可以将长度和填充字符作为单元格引用传递,并且可以轻松更新

【讨论】:

  • @zx8754: 是的......那么让我们结合两者的优点:=LEFT(A1 & REPT("*",5),5)
  • 不错。将把这个放在我的“武器库”中;)
【解决方案3】:

我必须将单元格中的数字右填充为 0 以使其最多 9 个字符。牢房里的数字都是奇数。我使用下面的公式来实现结果。对我来说,单元格中出现的最少字符是 3。 =LEFT(G41 & REPT("0",6),9)

【讨论】:

  • 这可能是在正确的轨道上,但并没有真正回答这个问题。 OP 显示用空格填充到长度为 5 的字符串,但您用 0 填充到长度为 9。