欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

為什么indirect函數數組用不了

林國瑞2年前11瀏覽0評論

為什么indirect函數數組用不了?

indiret函數數組用不了可能是遭遇了以下問題。

問題一

H6=ADDRESS(ROW($A$1)+INT((ROW()-ROW($A$6))/2),1,4)&":"&ADDRESS(ROW($A$1)+INT((ROW()-ROW($A$6))/2),3,4)

單元格H6返回文本"A1:C1"

然后,E7:G7輸入區域數組公式=INDIRECT(H6),E7:G7能夠返回{1,5000,6000}

但是,直接在E6:G6輸入區域數組公式

=INDIRECT(ADDRESS(ROW($A$1)+INT((ROW()-ROW($A$6))/2),1,4)&":"&ADDRESS(ROW($A$1)+INT((ROW()-ROW($A$6))/2),3,4))

卻返回{#VALUE!,#VALUE!,#VALUE!}

直接把H6的公式代入為INDIRECT的參數,何解會返回錯誤值。

第一,一個單元格只能返回一個單值H6的公式,其實返回了一個數組——用功能鍵F9會發現返回數組{"A1:C1"}(雖然只有一個元素,但這確實是一個數組,不是單值),但是由于一個單元格只能返回一個單值,這時候單元格的值自動取該數組第一個元素的值,所以單元格返回單值——字符串"A1:C1"第二,Excel公式不能處理超過二維的數組(這個道理,可能很多異議,但解釋起來,已經偏離INDIRECT函數的范圍了——可能涉及到OFFSET函數,還用所謂的三維引用;總之,這個道理是正確的)INDIRECT函數返回的是一個引用,所有的單元格引用都是二維的。E6:G6的區域數組公式相當于=INDIRECT({"A1:C1"}),而不是=INDIRECT("A1:C1")——當INDIRECT的參數是一個數組時,INDIRECT的返回值將變成三維數組,所以返回錯誤值#VALUE!