以下公式將始終返回下一行的第4列(D)的值。Excel:從固定列中獲取相對行值的最佳方式是什麼?
=INDIRECT("R[1]C[" & 4-COLUMN() & "]",FALSE)
有沒有更好的方法來實現相同的結果?
以下公式將始終返回下一行的第4列(D)的值。Excel:從固定列中獲取相對行值的最佳方式是什麼?
=INDIRECT("R[1]C[" & 4-COLUMN() & "]",FALSE)
有沒有更好的方法來實現相同的結果?
相似,但少羅嗦,更易於閱讀(恕我直言),是解決的A1樣式:
=INDIRECT("$D" & ROW()+1)
,如果你知道的範圍內這將工作:
=INDEX($A$1:$E$4, ROW()+1, 4)
把一個「$」字符列字母或行號的前面,當你複製和粘貼將鎖定下來。
如:
$C$17
取決於您更好的:-)是什麼意思
如果你的意思是短/簡單和A1的風格,然後shoover的答案是罰款:
=INDIRECT("$D"&ROW()+1)
如果你喜歡R1C1樣式(更易於閱讀恕我直言;-)),那麼更短/簡單/更快的解決方案是:
=INDIRECT("R[1]C4",)
不過,如果你是最快的解決方案後, ,或者只是喜歡非易失一個,然後命名公式是要走的路:
定義一個名字,說Col4Down1
,並將其值設置爲:
=INDEX(!$D:$D,ROW()+1)
放置在一個單元格下面的公式來獲得期望的結果:
=Col4Down1
在一個名爲使用爆炸運營商!
時,這樣做是因爲一個鮮爲人知的怪癖式。當您不指定圖紙名稱時,!$D:$D
總是指第四列,而不考慮列刪除/插入。把它看作絕對絕對尋址。
最後,蘭斯羅伯茨的答案,雖然是非易失性的,但也有一些問題。正如他所提到的,它只能在某些預定的行中起作用。其次,插入/刪除A-D中的任何列或上面的任何行將會破壞它。(如果進入到單元格B2)修改它來解決這些導致了以下:
=INDEX(B:B:2:2,ROW()+1,4)
,或者如果你喜歡R1C1樣式,並設置電子表格中使用這種風格:
=INDEX(R:C,ROW()+1,4)
'!$ D:$ D'怪癖+1 - 我沒有意識到這一點。可惜它只適用於定義的名稱,但不適用於常規公式。 –
@彼得 - 感謝您的投票。是的,正則表達式的等價物是'INDEX(G:G:6:6,1,4):INDEX(G:G:6:6,ROWS(G:G),4)'(在G6中輸入),或者,如果您打開R1C1樣式尋址,則使用'INDEX(R:C,1,4):INDEX(R:C,ROWS(C),4)'稍微簡單和容易。 – robinCTS
的確更容易。謝謝! – jbochi