公式适用于excel,但名称不适用

时间:2014-11-11 17:51:00

标签: excel

我在excel中有这个公式,返回一个行号:

=MATCH(INDIRECT(ADDRESS(ROW(),4)),DayOffRequests!$A$1:$A$100,0)

它运作得很好。

我想创建一个新名称(DAYS_OFF_ROW)并将其分配给此公式。

以下是我在名称管理员中所做的事情:

Name Manager

但是当我把它写进一个单元格时:=DAYS_OFF_ROW它说#VALUE!而当我把相同的公式写入单元格时,它会给我一个我正在寻找的行号。

为什么它会说#VALUE!而不是像公式那样的行号?

2 个答案:

答案 0 :(得分:0)

首先关闭Row()返回单元格所在的行。如果将Row()置于间接状态,则会出现错误,因为没有Excel可以找到Row()的单元格。因此,对于命名范围,你的公式是无意义的。

其次,即使有一些神奇的方式让Excel知道你在这里关注哪个Row()Match也不会返回一个范围。只是一个阵列中的位置,如" 5"或" 50"。使用公式定义命名范围时,公式的结果必须是范围。因此,您可以执行Indirect之类的=Indirect("A" & Match(foo,bar))或其他事情,以便公式中的结果实际上指的是工作表中的范围。

答案 1 :(得分:0)

如果我将名称设置为此公式,则此方法有效:=MATCH(!$D1,DayOffRequests!$A$1:$A$100,0)  当然,在设置名称时我必须在字段A1中。现在它引用第四列和我所在的行。