我正在尝试在 Excel 中创建一些命名范围,这些范围使用基于列中非空单元格数量的偏移函数进行扩展,其一般公式如下:
=OFFSET($E1,0,0,COUNTA($E1:$E99999),1)
名称管理器接受了公式,但当我返回时,它似乎随机更改了一些数字。命名范围无法正常工作。请参见下面的屏幕截图(前后)。
在我看来,这似乎是 Excel 中的一个错误,但我在 Google 上找不到任何关于它的信息。我在 Windows 7 上运行 Excel 2010 (14.0.7128.5000)。
答案1
当我尝试输入命名范围的地址而不是突出显示范围来选择它时,我遇到了同样的问题。
似乎如果你在=A1:B2
命名范围的格式中输入相对地址,Excel 会将该范围视为相对于当前单元格随时。如果将光标移动到不同的单元格,然后再次检查名称管理器,您将看到不同的范围。
为了解决这个问题,您需要使用格式的完全绝对地址=$A$1:$B$2
。
在问题的示例中,列引用已经是绝对的,但行引用是相对的。以下应该有效:
=OFFSET($E$1,0,0,COUNTA($E$1:$E$99999),1)
答案2
我以前见过 Excel 这样做,但我不知道为什么。不过,你可以通过使用符号E:E
来引用整个列来解决此问题。
=OFFSET($E1,0,0,COUNTA($E:$E),1)
如果您需要类似屏幕截图中所示的示例,则可以使用以下内容。
=OFFSET($E$3,0,0,COUNTA($E:$E)-COUNTA($E$1:$E$2),1)
答案3
这是因为 Excel 在命名范围内的相对引用行为与在公式中的行为不同。更改为绝对引用即可。
巴西雷亚尔
答案4
我刚刚在工作簿中遇到了这个问题。这个问题不仅限于 Excel 2010,2016 也出现了。
解决方法是取消选中高级选项底部的 Lotus 公式转换选项。我不太清楚这些转换选项的作用,但它们似乎会干扰公式中的范围名称。