當需要更改公式中單元格的引用,而不更改公式本身,使用函數 INDIRECT。
其語法形式為:INDIRECT(ref_text,a1)
其中Ref_text為對單元格的引用,此單元格可以包含 A1-樣式的引用、R1C1-樣式的引用、定義為引用的名稱或對文字串單元格的引用。如果 ref_text 不是合法的單元格的引用,函數 INDIRECT 返回錯誤值 #REF!。
A1為一邏輯值,指明包含在單元格 ref_text 中的引用的類型。如果 a1 為 TRUE 或省略,ref_text 被解釋為 A1-樣式的引用。如果 a1 為 FALSE,ref_text 被解釋為 R1C1-樣式的引用。
需要注意的是:如果 ref_text 是對另一個工作簿的引用(外部引用),則那個工作簿必須被打開。如果源工作簿沒有打開,函數 INDIRECT 返回錯誤值 #REF!。
2、 OFFSET函數用于以指定的引用為參照系,通過給定偏移量得到新的引用。
返回的引用可以是一個單元格或者單元格區域,并可以指定返回的行數或者列數。
其基本語法形式為:OFFSET(reference, rows, cols, height, width)。
其中,reference變量作為偏移量參照系的引用區域(reference必須為對單元格或相連單元格區域的引用,否則,OFFSET函數返回錯誤值#VALUE!)。
rows變量表示相對于偏移量參照系的左上角單元格向上(向下)偏移的行數(例如rows使用2作為參數,表示目標引用區域的左上角單元格比reference低2行),行數可為正數(代表在起始引用單元格的下方)或者負數(代表在起始引用單元格的上方)或者0(代表起始引用單元格)。
cols表示相對于偏移量參照系的左上角單元格向左(向右)偏移的列數(例如cols使用4作為參數,表示目標引用區域的左上角單元格比reference右移4列),列數可為正數(代表在起始引用單元格的右邊)或者負數(代表在起始引用單元格的左邊)。
如果行數或者列數偏移量超出工作表邊緣,OFFSET函數將返回錯誤值#REF!。height變量表示高度,即所要返回的引用區域的行數(height必須為正數)。width變量表示寬度,即所要返回的引用區域的列數(width必須為正數)。如果省略height或者width,則假設其高度或者寬度與reference相同。例如,公式OFFSET(A1,2,3,4,5)表示比單元格A1靠下2行并靠右3列的4行5列的區域(即D3:H7區域)。
由此可見,OFFSET函數實際上并不移動任何單元格或者更改選定區域,它只是返回一個引用