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

在excel宏中,范围相等意味着什么?,excel,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测试单个单元格与

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

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与
$DATA中的值开头匹配时测试为真。$a$2:$a$1501

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

用值A、B、C、D、E、F填充单元格A1至F1
将光标放在单元格B4上
输入公式=A1:F1,返回B
将光标放在单元格C4上
输入公式=A1:F1,返回C

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

因此,我猜公式会得到给定范围内当前列的值。

你能用屏幕截图举例说明你想做什么吗?

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

有一些数据吗?也许只有一个单元格对宏有一个合理的结果?数据只是字符串,与问题无关。整个过程太复杂,无法详细说明。甚至上面的宏也不完整。我最终得到了答案,这个答案是解决方案的一部分。最后,最大的问题是上面的宏是一个“数组宏”,您必须按住SHIFT-CTRL-ENTER键才能保存它,否则它将无法工作。我从未见过比这更荒谬、更不直观的概念。