检查Excel中一行中多个单元格的一个单元格的长度是否为30

时间:2015-07-14 06:37:34

标签: excel excel-vba cell string-length vba

我在每行中有几行包含多个单元格,我想检查一行中其中一个单元格的长度是否为30。

我尝试使用LEN功能,但问题是我必须在某一刻检查行中的几个单元格。

1 个答案:

答案 0 :(得分:1)

Excel将TRUE视为1,将FALSE视为0.如果通过比较一行中每个单元格的长度为30并获取最大值来获取TRUE / FALSE值的数组,您将知道至少有一个单元格是否具有长度为30。

要检查A2:G2以查找未修剪长度为30个字符/位的任何单元格,请将其放入H2中,

=AND(MAX(INDEX(--(LEN(A2:G2)=30),,)))

填写后续行。

要检索长度为30个字符/位的第一个值,请将其放入I2,

=IFERROR(INDEX($A2:$G2, , SMALL(INDEX(COLUMN($A:$G)+(LEN($A2:$G2)<>30)*1E+99, , ), COLUMN(A:A))), "")

向右填充可能的第二个,第三个等30个字符宽的值。根据需要填写以捕获后续行。