代码之家  ›  专栏  ›  技术社区  ›  SpliFF

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

  •  0
  • SpliFF  · 技术社区  · 15 年前

    我必须更新此代码才能进行子字符串或regex匹配,但我甚至不理解代码:

    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中的字符串进行比较,如何将其更改为regex或substring匹配,以便当$B$3与 $DATA.$A$2:$A$1501 ?

    2 回复  |  直到 9 年前
        1
  •  0
  •   shahkalpesh    15 年前

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

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

    编辑:所以,如果在单元格c3中输入值c,在c4中输入公式(=a1:f1=c3),它将返回true。

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

        2
  •  0
  •   jtolle    15 年前

    为了从给出的答案中稍微概括一点,如果在数组和标量之间执行相等测试,您将得到一个布尔值数组。这就是为什么需要将整个公式视为数组公式的原因,因为它在操作数组。