在 Excel 中定义条件时使用 Len 函数时出现问题
Problem using the Len function in defining a condition in Excel
我想提供一个两列 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)
但这是错误的。
我怎样才能像上面的例子一样得到我预期的结果?
一种方法是使用 Rept 重复正确数量的零:
=REPT("0",10-LEN(A2))&A2
或使用更简单的文本:
=TEXT(A2,"0000000000")
最接近您的原始公式的是
=LEFT("0000000000",10-LEN(A2))&A2
或者更好的@JvdV建议的公式
=RIGHT("0000000000"&A2,10)
老实说,我不确定如果(例如)您将 sheet 写成 CSV,是否可以通过简单地将数据格式化为“0000000000”来保留零,但我已经测试过这只是为了确保它们确实如此,所以我认为这仍然是最佳解决方案。
测试Sheet
结果 CSV
我想提供一个两列 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)
但这是错误的。
我怎样才能像上面的例子一样得到我预期的结果?
一种方法是使用 Rept 重复正确数量的零:
=REPT("0",10-LEN(A2))&A2
或使用更简单的文本:
=TEXT(A2,"0000000000")
最接近您的原始公式的是
=LEFT("0000000000",10-LEN(A2))&A2
或者更好的@JvdV建议的公式
=RIGHT("0000000000"&A2,10)
老实说,我不确定如果(例如)您将 sheet 写成 CSV,是否可以通过简单地将数据格式化为“0000000000”来保留零,但我已经测试过这只是为了确保它们确实如此,所以我认为这仍然是最佳解决方案。
测试Sheet
结果 CSV