0
似乎使用Excel功能INDIRECT(ADDRESS(...))
和OFFSET(...)
可以互換使用。Excel:INDIRECT(ADDRESS(...))與OFFSET(...)
例如,下面兩個公式返回相同的結果爲絕對參考:
= INDIRECT(ADDRESS(1,1))
= OFFSET(<current cell>,1-ROW(),1-COLUMN())
並且類似地,接下來的兩個公式返回相同的結果,以相對參考(在該情況下,例如,這些公式返回任何值是在小區該小區下面的公式):
= OFFSET(<current cell>,1,0)
= INDIRECT(ADDRESS(ROW()+1,COLUMN()))
我的問題是:有個方法總是優於其他?在我看來,INDIRECT(ADDRESS(...))
適用於更多的絕對類型引用,OFFSET(...)
適用於更多的相對類型引用,但如上所示,可以使用任一種方法來完成任一類型的引用。或者,與使用這兩種功能相比,這兩種功能是否有完全不同的選擇?
當然,'$ 1:$ 1048576'是整個工作表,所以優點是有限的。仍比任何工作簿中的任何工作表中的任何更改更好,但不如限制爲單列或單列。 – Jeeped
@Scott謝謝。如果工作表本身就是變量,我認爲可以避免使用「間接」,但要花費更長的時間。例如。 '= IF(,INDEX(Sheet1!$ 1:$ 1048576,...),INDEX(Sheet2!$ 1:1048576,...))''。它是否正確? –
ImaginaryHuman072889
@Peter我正在考慮更多的方面,因爲工作表是一個單元格中的變量。如果你有很多嵌套ifs會太長。 –