2009-08-03 88 views
0

我要更新这个代码做一个子正则表达式或比赛,但我甚至不明白的代码:在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 $DATA.$A$2:$A$1501价值的开始相匹配?

+0

有一些数据?也许有一个单元格对宏有合理的结果? – Kieveli 2009-08-03 01:56:54

+0

数据只是字符串,与问题无关。 – SpliFF 2009-08-03 02:10:21

回答

0

要检查范围返回什么,我做了以下操作。

填充的单元格A1到F1与值A,B,C,d,E,F
放置光标对细胞B4
键入的公式= A1:F1,它返回乙
放置光标对细胞C4
键入的公式= A1中:F1,它返回ç

编辑:因此,如果你把值C在细胞C3和放式中C4(= A1:F1 = C3),它会返回true。

所以,我猜这个公式得到了给定范围内当前列的值。
你可以通过截图来举例说明你想做什么吗?

0

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