EXCEL:获得单元格中显示的数字长度的公式(包括显示的前导零)?

我有一个用户提供的字段,它将数字GTIN作为文本存储。 我validation该字段在下一个单元格中是7或11个字符。

添加一个公式如=OR(LEN(A1)=7,LEN(A1)=11)是很容易的,但是有些情况下用户粘贴另一个Excel文档,例如一个自定义格式的数字11 0的。 该单元格似乎包含11个字符与一些前导零,但LEN公式会看到较less的字符(例如单元格可能显示00123456789 ,但LEN(A1) = 9)。 我不知道如何控制这个。

没有macros,我怎样才能find这个显示值的长度?

我感谢任何帮助!

用户定义的快速函数(aka UDF)可以替代标准的LEN工作表函数。

 function displayLEN(rng as range) displayLEN = len(rng(1).text) end function 

把它放到一个标准的模块代码表中。 就像工作表的LEN函数一样使用; 例如=displayLEN(A1)