0
背景定義動態範圍的表
我發現自己安靜常常在我想定義覆蓋整個表的動態範圍的情況。我需要足夠的靈活性,如果我添加更多的列或行或移動表格,範圍應該更新。
所以我做什麼基本上是:
- 名稱表(
start.table
說)左上細胞 定義表的動態範圍如下:
=OFFSET(start.table;0;0; COUNTA(INDIRECT( SUBSTITUTE(ADDRESS(ROW(start.table);1);"$1";"") & ":" & SUBSTITUTE(ADDRESS(ROW(start.table);1);"$1";""))); COUNTA(INDIRECT( SUBSTITUTE(ADDRESS(1;COLUMN(start.table));"$A";"") & ":" & SUBSTITUTE(ADDRESS(1;COLUMN(start.table));"$A";""))))
說明
ADDRESS
給我細胞start.table
- 的整個行/列的字符串表示我需要
SUBSTITUTE
的$1
和$A
部分得到公正列或行預選賽分別爲 - 然後,我可以
COUNTA
的INDIRECT
範圍內的非空單元格由SUBSTITUTE
字符串引用 - 使用此方法,表格保持正確定義,即使我將在表格之前/之後添加空行或添加列或行
問題
這種做法似乎是相當的矯枉過正,我在想我是否不能簡單地通過$A:$A
和$1:$1
分別替換整個INDIRECT(...)
結構。首先測試會證實它的工作原理,但我想知道我在這裏是否可以忽略某些東西?你看到這種方法有什麼潛在的問題嗎?