首页 > 解决方案 > 在 Excel 中使用 Len 函数定义条件时出现问题

问题描述

我想提供一个两列 Excel 文件作为脚本的输入。但我需要一个两列 Excel 文件才能具有一个功能:第二列必须有 10 个字符。由于 Excel 文件中的行数很大,我无法手动编辑第二列中的每个单元格。所以我需要在Excel中放一个控制函数来检查第二列,让它统计第二列每个单元格的字符数,并在其右边加零,也就是不到十个字符。

根据我的搜索,我意识到我可以使用条件和Len函数的定义,但输出不是我想要的。

 Full ID       Expected Result
  15               0000000015
  159              0000000159
  16               0000000016
  43               0000000043
  4329             0000004329

我尝试过的:

=Right(A2,LEN(A2)+8)

但这是错误的。

我怎样才能像上面的例子一样得到我的预期结果?

标签: excelif-statementexcel-formulaconditional-statementscounting

解决方案


一种方法是使用 Rept 重复正确数量的零:

=REPT("0",10-LEN(A2))&A2

或者更简单地使用文本:

=TEXT(A2,"0000000000")

最接近您的原始公式的是

=LEFT("0000000000",10-LEN(A2))&A2

或者更好的@JvdV建议的公式

=RIGHT("0000000000"&A2,10)

老实说,我不确定是否通过简单地将数据格式化为“0000000000”,如果(例如)您将工作表写为 CSV,是否会保留零,但我已经对其进行了测试,以确保它们实际上是所以我认为这仍然是最佳解决方案。

测试表

在此处输入图像描述

生成的 CSV

在此处输入图像描述


推荐阅读