我有一些數據在Excel中,並希望訪問某些行與偏移功能,但該函數返回#VALUE!
我的小數據集。偏移量函數返回#VALUE!與小數據集
使用此,OFFSET(A2;0;0;COUNTA(A2:A99999);1)
我得到#VALUE!
。將公式更改爲OFFSET(A2;0;0;100;1)
時,我得到一個值。
任何建議,我在做什麼錯?
我很感謝你的回覆!
我有一些數據在Excel中,並希望訪問某些行與偏移功能,但該函數返回#VALUE!
我的小數據集。偏移量函數返回#VALUE!與小數據集
使用此,OFFSET(A2;0;0;COUNTA(A2:A99999);1)
我得到#VALUE!
。將公式更改爲OFFSET(A2;0;0;100;1)
時,我得到一個值。
任何建議,我在做什麼錯?
我很感謝你的回覆!
如果=OFFSET(A2;0;0;COUNTA(A2:A99999);1)
是完整的公式你得到的結果與硬編碼數由於推斷位置(我希望這是正確的術語)。這意味着當你參考一個範圍但沒有處理全部範圍時,操作單元是相對於當前位置的單元。
如果你把=$A$2:$A$11
在D2並填寫下你會根據你的行位置匹配列A.保持充絨即得到持續性的結果,當你走過去排11
此您將得到#VALUE!
錯誤爲什麼=OFFSET(A2; 0; 0; 100; 1)
返回零並且=OFFSET(A2; 0; 0; COUNTA(A2:A99999); 1)
返回#VALUE!
錯誤。第一個公式與0123'相同,因爲您將公式放在101行之上的單元格中(引用A列中返回值爲的空白單元格),它將返回零。第二個(與COUNTA function一樣)就像是說=$A$2:$A$11
,並且您將它放入第13行(在第11行下方)的單元格中。
Addndum:
在一個相關的說明,INDEX function和MATCH function的這些變化是非易失性的,比OFFSET function更多的功能,同時提供一個單元格區域引用等同於你達到什麼用偏移和COUNTA function。
'for text in a column
=$A$2:INDEX($A:$A, MATCH("zzz", $A:$A))
'for numbers in a column
=$A$2:INDEX($A:$A, MATCH(1e99, $A:$A))
'for unknown in a column
=$A$2:INDEX($A:$A, IFERROR(MATCH(1e99, $A:$A), MATCH("zzz", $A:$A)))
'for combined in a column
=$A$2:INDEX($A:$A, MAX(MATCH(1e99, $A:$A), MATCH("zzz", $A:$A)))
'I don't like COUNTA but it works as long as there are no blanks
=$A$2:INDEX($A:$A, COUNTA($A:$A))
這種方法有許多變化。也許你可以爲你的目的使用上述之一。
OFFSET(A2;0;0;(range > 1);1)
將返回一個數組而不是單個單元格的值。這隻有在你將總和或其他聚合函數放在它周圍時纔有意義。 (你想用公式來達到什麼目的?)
例如
=SUM(OFFSET(A2;0;0;COUNTA(A2:A99999);1))
什麼是完整公式?你似乎省略了像SUM或類似的包裝函數。 – Jeeped
@Jeped Thx爲您的答案!但是,這是我的公式。我在一個非常複雜的vba腳本中使用這部分,它返回''VALUE' – mrquad
@mrquad [Offset函數文檔](https://support.office.com/zh-cn/article/OFFSET-function-b3958b36- C30B-4fc3-979e-9b9bbfdcf592)。正如MissPalmer回答的那樣,它返回一個範圍。您需要以某種方式使用該範圍。順便說一句,如果你把你的公式中的任何一行與數據,你可以看到它會返回該行的數據。 –