通常,在Excel公式中對單元格或區(qū)域的引用是A1引用樣式,對于這種引用樣式,大家已經(jīng)非常熟悉了。在Excel中還存在另外一種引用樣式,即R1C1引用樣式,在R1C1引用樣式中,行標和列標均為數(shù)字。該引用樣式對單元格的絕對引用為“R+行標+C+列標”,其中“R”代表行,“C”代表列,如R2C3表示位于第2行、第3列的單元格。
R1C1引用樣式有絕對有用和相對引用之分,如當(dāng)前單元格為D5:
R[-1]C 對當(dāng)前單元格所在列中的上一行單元格的相對引用,即D4單元格。
R[5]C[2] 對當(dāng)前單元格下面第5行、右面第2列的單元格的相對引用,即F10單元格。
R5C2 對當(dāng)前工作表的第5行、第2列的單元格的絕對引用,相當(dāng)于$B$5。
R[-1] 對當(dāng)前單元格上面一行區(qū)域的相對引用,相當(dāng)于4:4。
R 對當(dāng)前行的絕對引用,相當(dāng)于$5:$5
按F4鍵可以在絕對引用和相對引用之間轉(zhuǎn)換。如D5單元格的公式中包含R1C1引用樣式“R5C2”,在編輯欄中選擇公式中的“R5C2”,連續(xù)按F4鍵將依次轉(zhuǎn)化為:R5C[-2]、RC2、RC[-2]。
在宏代碼中,R1C1引用樣式對于計算行和列的位置很方便。在錄制宏的時候,代碼中有時會出現(xiàn)R1C1樣式。例如下面是在Excel 2007中錄制的宏代碼,其作用是在A16單元格中,用SUM函數(shù)對A1:A15單元格進行求和。
Sub Macro1()
Range("A16").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-15]C:R[-1]C)"
Range("A17").Select
End Sub
可以通過下面的設(shè)置在A1引用樣式和R1C1引用樣式之間轉(zhuǎn)換:
在Excel 2003中,單擊菜單“工具→選項”,在彈出的“選項”對話框中,選擇“常規(guī)”選項卡,勾選“R1C1引用樣式”,將變?yōu)镽1C1引用樣式。
在Excel 2007中,單擊“Office按鈕→Excel選項→公式”,在“使用公式”區(qū)域中,勾選“R1C1引用樣式”,將更改為R1C1引用樣式。