Excel 使用公式格式化字符串的一部分

Excel 使用公式格式化字符串的一部分,excel,Excel,我想知道是否有一种不用vba就能做到这一点的方法。目前,我有一列完整的ID号,用于我正在构建的测试脚本 到目前为止,ID一直是001;002; 003;....etc现在我要做的是自动填充ID,但在ID前面加上CLL-的前缀,给我CLL-001 我用的是公式 ="CLL-" & ROW()-1 但是,这将返回CLL-1。我想做的是将ID的数字部分格式化为3s.f.,但我看不到不使用vba的方法。因此,是否可以在excel公式中执行此操作,而不是使用以下内容: cell.value =

我想知道是否有一种不用vba就能做到这一点的方法。目前,我有一列完整的ID号,用于我正在构建的测试脚本

到目前为止,ID一直是
001;002; 003;....etc
现在我要做的是自动填充ID,但在ID前面加上
CLL-
的前缀,给我
CLL-001

我用的是公式

="CLL-" & ROW()-1
但是,这将返回
CLL-1
。我想做的是将ID的数字部分格式化为3s.f.,但我看不到不使用vba的方法。因此,是否可以在excel公式中执行此操作,而不是使用以下内容:

cell.value = "CLL-" & Format(cell.row-1, "000")
=“CLL-”&TEXT(ROW()-1,“000”)
是一种方式


这将在第1001行分解。您可以使用
MOD
仅保留3位数字。

这似乎在第行
1048576
上效果很好。我计划在写完文档后删除公式并粘贴值,以便所有ID引用保持不变。这只是为了在写作时生成它们。除了划船还有别的选择吗。我正在填充一个表(listobject),因此如果我可以返回该表的行(如在vba中)而不是SheetRow()函数,这将非常方便。一种惯用的方法是在列的顶部(比如B列)写1,然后在B2单元格中,写=B1+1,然后向下复制。@teylyn:起初不相信你,但已经测试过了。谢谢。查尔斯·威廉姆斯的网站上有一篇关于易失性函数的文章和一个测试函数是否易失性的测试文件