Excel Address函數用法的7個實例,含四種引用類型、跨文檔跨表引用、提取查找數據和多表匯總
在 excel 中,Address函數用于返回由行號和列號指定的單元格地址,它可以指定單元格的引用類型、引用樣式和要引用的工作表。引用類型共有四種,分別為:對列行都絕對引用,對列絕對引用、對行相對引用,對列相對引用、對行絕對引用,對列行都相對引用。

由于Address函數是以文本方式返回單元格的地址,因此它的返回結果還需要用Indirect函數把文本轉為對單元格的引用;然后再與 OffSet、Match、Sum、Row 和 Column 等函數組合實現具體的功能。例如 Indirect + Address + Row + Column 實現提取由指定行開始的數據、OffSet + Indirect + Address + Match 實現查找數據、Sum + OffSet + Indirect + Address 實現多表格求和。
一、excel Address函數的語法
1、表達式:ADDRESS(Row_Num, Column_Num, [Abs_Num], [A1], [Sheet_Text])
中文表達式:ADDRESS(行號, 列號, [引用類型], [引用樣式], [工作表名稱])
2、說明:
A、Abs_Num 為可選項,如果省略或為 1,則返回“絕對值”;如果為 2,則返回“絕對行號、相對列標”;如果為 3,則返回“相對行號、絕對列標”;如果為 4,則返回“相對值”。
B、A1 為可選項,如果省略或為 True,則返回如 A1 樣式引用;如果為 False,則返回如 R1C1 樣式引用,R 表示行號,C 表示列號。
C、Sheet_Text 為可選項,如果省略,表示引用當前工作表;如果要引用外部工作表,只需寫工作表名稱,例如 Sheet2。
二、Excel Address函數的使用方法及實例
(一)省略可選參數的實例
1、雙擊 E2 單元格,把公式 =ADDRESS(2,3) 復制到 E2,按回車,返回對單元格的引用結果為 $C;操作過程步驟,如圖1所示:
圖1
2、公式說明:
公式 =ADDRESS(2,3) 中,2 為行號,表示第 2 行;3 為列號,表示第 3 列;公式省略了后三個參數,其中“引用類型”為公式的第三個參數,省略則返回絕對值,即對單元格的絕對引用,如返回結果 $C;“引用樣式”為公式的第四個參數,省略表示以 A1 樣式引用;“工作表名稱”為公式的第五個參數,省略表示引用當前工作表的單元格;公式的意思是:以文本方式返回對當前工作表第 2 行第 3 列對應的單元格的絕對引用,且以 A1 樣式引用返回。
(二)返回四種引用類型的實例
1、雙擊 A11 單元格,把公式 =ADDRESS(7,4,1) 復制到 A11,按回車,返回 $D;雙擊 B11,把同一公式粘貼到 B11,把 1 改為 2,按回車,返回 D;雙擊 C11,把同一公式復制到 C11,把 1 改為 3,按回車,返回 $D7;再雙擊 D11,把同一公式復制到 D11,把 1 改為 4,按回車,返回D7;操作過程步驟,如圖2所示:
圖2
2、公式說明:
A、公式 =ADDRESS(7,4,1) 的意思是:以文本返回第 7 行與第 4 列交叉的單元格引用,且以“絕對引用”返回,即返回 $D,$ 表示絕對引用,列前和行前都有 $,表示對列和行都絕對引用,即往下或往右拖時,D7 不會變為 D8、D9、…………,也不會變為 E7、F7、……。
B、公式 =ADDRESS(7,4,2) 的第三個參數“引用類型”為 2,表示以“絕對行號、相對列標(即對行絕對引用、對列相對引用)”且以文本返回對單元格的引用,即返回 D,往下拖時,D7 不會變為 D8、D9、……,但往右拖時,D7 會變為 E7、F7、……。
C、公式 =ADDRESS(7,4,3) 的第三個參數“引用類型”為 3,表示以“相對行號、絕對列標(即對行相對引用、對列絕對引用)”且以文本返回對單元格的引用,即返回 $D7,往下拖時,D7 會變為 D8、D9、……,但往右拖時,D7 不會變為 E7、F7、……。
D、公式 =ADDRESS(7,4,4) 的第三個參數“引用類型”為 4,表示以“相對值(即對行列都相對引用)”且以文本返回對單元格的引用,即返回 D7,往下拖時,D7 會變為 D8、D9、……,往右拖時,D7 也會變為 E7、F7、……。
(三)引用樣式為 A1 和 R1C1 的實例
1、雙擊 E2 單元格,把公式 =ADDRESS(6,1,,1) 復制到 E2,按回車,返回 $A;雙擊 E3,把同一公式復制到 E3,把后面的 1 改為 0,按回車,返回 R6C1;操作過程步驟,如圖3所示:
圖3
2、公式說明:
A、公式 =ADDRESS(6,1,,1) 是以文本返回第 6 行與第 1 列對應單元格的引用,第三個參數省略,默認以絕對引用返回,第四個參數為 1(即 True),則以 A1 樣式返回,因此返回 $A。
B、公式 =ADDRESS(6,1,,0) 同樣以絕對引用方式且以文本返回第 6 行與第 1 列對應單元格的引用,第四個參數為 0(即 False),表示以 R1C1 樣式返回,因此返回 R6C1。
(四)引用外部工作表單元格的實例
1、引用同一文檔的另一個工作表;當前工作表為“11月”,假如要引用另一個工作表“12月”的 D5;雙擊 E2,把公式 =ADDRESS(5,4,,,"12月") 復制到 E2,按回車,返回 '12月'!$D。
2、引用不同文檔的其中一個工作表;假如要引用“excel教程”文檔中的“學生表”中的 D5;雙擊 E3 單元格,把公式 =ADDRESS(5,4,,,"[excel教程.xlsx]學生表") 復制到 E3,按回車,返回 [excel教程.xlsx]學生表!$D;操作過程步驟,如圖4所示:
圖4
3、公式說明:
A、公式 =ADDRESS(5,4,,,"12月") 是在工作表“11月”以文本返回另一個工作表“12月”的 D5 的絕對引用,由于兩工作表在同一文檔,因此不需要在工作表前加文檔名稱。
B、公式 =ADDRESS(5,4,,,"[excel教程.xlsx]學生表") 是以文本返回另一個文檔(即“excel教程.xlsx”)中“學生表”的 D5 的絕對引用,由于公式所在文檔與引用單元格的文檔不是同一文檔,因此“引用名稱”要有文檔名和工作表名且文檔名要有擴展名,否則找不到文檔,如公式中的 "[excel教程.xlsx]學生表";如果要查看引用單元格中的值還需要加Indirect函數,則公式變為 =INDIRECT(ADDRESS(5,4,,,"[excel教程.xlsx]學生表"));另外,引用的文檔要打開,公式才能返回正確的值,否則返回引用錯誤 #REF!。
三、Excel Address函數的應用實例
(一)Indirect + Address + Row + Column 組合實現提取由指定行開始的數據
1、假如要從第三行開始提取任意行數據。雙擊 A9 單元格,把公式 =INDIRECT(ADDRESS(ROW($A3),COLUMN())) 復制到 A9,按回車,返回“青皮西瓜”;選中 A9,把鼠標移到 A9 右下角的單元格填充柄上,鼠標變為黑色加號后,按住左鍵,往右拖,一直拖到 D9,則提取了表格第三行數據;再往下拖,經過多少行則提取多少行數據,如往下拖四行,則又提取表格四行數據;操作過程步驟,如圖5所示:
圖5
2、公式 =INDIRECT(ADDRESS(ROW($A3),COLUMN())) 說明:
A、$A3 表示對列絕對引用對行相對引用;往下拖時,A3 會變 A4、A5 等,往右拖時,A3 不會變 B3、C3 等;因為這里只要求往下拖時,行號增長、列號不變。
B、ROW($A3) 返回 A3 的行號 3,COLUMN() 返回公式所在列的列號 1,則 ADDRESS(ROW($A3),COLUMN()) 變為 ADDRESS(3,1),它以文本形式返回第三行與第一列對應的單元格的絕對引用,即 "$A"。
C、則公式變為 =INDIRECT("$A"),最后用 Indirect 函數返回對文本 "$A" 的引用,即返回 A3 中的內容。
D、當公式在 B10 時,$A3 變 $A4,ROW($A4) 返回 A4 的行號 4;COLUMN() 返回 B10 的列號 2;則公式變為 =INDIRECT(ADDRESS(4,2)),進一步計算變為 =INDIRECT("$B"),最后返回 B4 的內容“漿果”。
(二)OffSet + Indirect + Address + Match 組合實現查找數據
1、假如要根據姓名查找職務。雙擊 B12 單元格,把公式 =OFFSET(INDIRECT(ADDRESS(MATCH(A12,A1:A9,),1)),,2) 復制到 B12,按回車,返回王青瑗的職務“員工”;雙擊 A12,把王青瑗改為張秀玲,單擊 B12,則返回張秀玲的職務為“經理”;操作過程步驟,如圖6所示:
圖6
2、公式 =OFFSET(INDIRECT(ADDRESS(MATCH(A12,A1:A9,),1)),,2) 說明:
A、MATCH(A12,A1:A9,) 用于在 A1:A9 中查找 A12,它省略了最后一個參數,默認取 0,即精確匹配,最后返回的結果為 6。
B、則 ADDRESS(MATCH(A12,A1:A9,),1) 變為 ADDRESS(6,1),由于省略了后面三個參數,它們全取默認值,因此以絕對引用返回第六行與第一列對應的單元格地址,即返回 "$A"。
C、由于Address函數返回是文本,所以還要用Indirect函數把文本轉為引用,即 INDIRECT("$A") 返回 $A。
D、則公式變為 =OFFSET($A,,2),接著,以 A6 為基準,返回 A6 右邊與它相距兩列的單元格引用,即返回對 C6 的引用,也就是返回C6 的內容“員工”。OffSet函數省略了第二個參數行號,默認取 0;還省略了第四五個參數高度和寬度,默認取與 A6 一樣的高度和寬度。
(三)Sum + OffSet + Indirect + Address 組合實現多表格求和
1、假如要匯總 10 到 12 月的服裝銷量,每個月的銷量在一個表格中,表格名稱以月份命名。當前工作表為“10月”,選擇“銷量匯總”工作表,雙擊 B2 單元格,把公式 =SUM(OFFSET(INDIRECT(ADDRESS(1,4,,,A2&"月")),1,,6)) 復制到 B2,按回車,返回求和結果 4013;選中B2,再用雙擊 B2 單元格填充柄的方法求11月和12月銷量之和;操作過程步驟,如圖7所示:
圖7
2、公式 =SUM(OFFSET(INDIRECT(ADDRESS(1,4,,,A2&"月")),1,,6)) 說明:
A、A2&"月" 用于組合工作表名稱,A2 中的 10 與“月”用 & 連接組合成工作表“10月”的名稱。
B、則 ADDRESS(1,4,,,A2&"月") 變為 ADDRESS(1,4,,,"10月"),接著以絕對引用方式返回工作表“10月”中第一行與第四列對應的單元格地址,即返回文本 "'10月'!$D$1"。
C、接著,用Indirect函數把文本 "'10月'!$D$1" 轉為對單元格的引用,即 INDIRECT("'10月'!$D$1") ,它返回“'10月'!$D$1”。
D、則公式變為 =SUM(OFFSET('10月'!$D$1,1,,6)),進一步計算,以工作表“10月”中的 D1 單元格為基準,返回 D1 下一行 0 列且高度為 6、寬度為 1 的單元格引用,即返回 $D$2:$D$7。
E、則公式進一步變為 =SUM('10月'!$D$2:$D$7),最后用Sum函數對 D2:D7 求和。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。