在excel宏中,与范围的相等意味着什么?

时间:2009-08-03 01:25:40

标签: excel

我必须更新此代码以执行子字符串或正则表达式匹配,但我甚至不理解代码:

INDEX(
   $DATA.B$2:B$1501;
   SMALL(
      IF(
         $DATA.$A$2:$A$1501=$B$3;
         ROW($DATA.$A$2:$A$1501)-ROW($DATA.$A$2)+1
      );
      ROWS($DATA.$A$1:$A1)
   )
)

最让我头疼的是$DATA.$A$2:$A$1501=$B$3测试单个细胞与细胞范围相等的意义是什么?

此外,此代码与$ B $ 3中的字符串进行比较,如何将其更改为正则表达式或子字符串匹配,以便当$ B $ 3与{{1}中的值的开头匹配时,测试为真}?

2 个答案:

答案 0 :(得分:0)

要检查范围返回的内容,我执行了以下操作。

将单元格A1填充到F1,其值为A,B,C,D,E,F
将光标放在单元格B4上 输入公式= A1:F1,它返回B
将光标放在Cell C4上 输入公式= A1:F1,它返回C

编辑:那么,如果你将值C放在单元格C3中并将公式放在C4(= A1:F1 = C3)中,它将返回true。

所以,我猜公式得到给定范围内当前列的值 你能举例说明你想做什么吗?

答案 1 :(得分:0)

从给出的答案中略微概括一下,如果在数组和标量之间进行相等性测试,则会得到一个布尔值数组。这就是为什么你需要将整个公式视为数组公式,因为它正在操纵数组。