Excel 偏移函数返回#值!使用小数据集
我在excel中有一些数据,希望使用offset函数访问某些行,但是该函数返回Excel 偏移函数返回#值!使用小数据集,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,我在excel中有一些数据,希望使用offset函数访问某些行,但是该函数返回#值用于我的小数据集 使用这个,OFFSET(A2;0;0;COUNTA(A2:a9999);1)我得到了#值。将公式更改为偏移量(A2;0;0;100;1)时,我会得到一个值 有什么建议吗,我做错了什么 谢谢你的回复 偏移量(A2;0;0;(范围>1);1)将返回一个数组,而不是单个单元格的值。只有将sum或其他聚合函数放在它周围,这才有意义。(你想用这个公式达到什么目的?) e、 g 如果=OFFSET(A2;0
#值代码>用于我的小数据集
使用这个,OFFSET(A2;0;0;COUNTA(A2:a9999);1)
我得到了#值代码>。将公式更改为偏移量(A2;0;0;100;1)
时,我会得到一个值
有什么建议吗,我做错了什么
谢谢你的回复 偏移量(A2;0;0;(范围>1);1)
将返回一个数组,而不是单个单元格的值。只有将sum或其他聚合函数放在它周围,这才有意义。(你想用这个公式达到什么目的?)
e、 g
如果=OFFSET(A2;0;0;COUNTA(A2:a9999);1)
是您的完整公式,则由于推断位置,您将得到一个带有硬编码数字的结果(我希望这是正确的术语)。这意味着,当您引用一个范围但不处理整个范围时,操作单元格是相对于当前位置的单元格
如果您将=$A$2:$A$11
放入D2并填充,您将根据与A列匹配的行位置获得处理结果。继续填充,您将获得#值代码>通过第11行时出错
这就是为什么=OFFSET(A2;0;0;100;1)
返回一个零,而=OFFSET(A2;0;0;COUNTA(A2:A99999);1)
返回一个#值代码>错误。第一个公式与表示=$A$2:$A$101
相同,它返回零,因为您将公式放在第101行上方的单元格中(引用A列中返回值为0的空白单元格)。第二个(带)类似于说=$A$2:$A$11
,然后将其放入第13行(第11行下方)的单元格中
Addndum:
另一方面,and的这些变体是非易失性的,并且比的功能更强大,同时提供的单元格范围引用与使用OFFSET和实现的单元格范围引用相同
这种方法有许多变体。或许您可以使用上述其中一种方法。完整公式是什么?“您似乎遗漏了SUM或类似的包装函数。”Jeep Thx回答您的问题!然而,这是我的公式。我在一个非常复杂的vba脚本中使用这个部分,它返回我#VALUE
@mrquad。正如帕默小姐回答的那样,它返回一个范围。你需要以某种方式使用这个范围。顺便说一句,如果您将其中一个公式放入包含数据的行中,您可以看到它将返回该行中的数据。
=SUM(OFFSET(A2;0;0;COUNTA(A2:A99999);1))
'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))