· 正 · 文 · 來 · 啦 ·
讀者群常有朋友問,如何批量引用多個工作表的數(shù)據(jù)。
如果已有工作表的名稱,那么,使用Indirect函數(shù)就可輕松批量引用。
如果沒有工作表的名稱,可以使用GET.WORKBOOK來自定義名稱,自動提取工作表名稱,再使用Indirect函數(shù)批量引用。具體參見《偷懶的技術(shù)2:財務Excel表格輕松做》第三章第二節(jié)“開發(fā)項目信息登記表:批量引用多表數(shù)據(jù)的經(jīng)典案例”。
本文摘錄《偷懶的技術(shù)2:財務Excel表格輕松做》第一章第六節(jié)中Indirect函數(shù)的內(nèi)容,介紹Indirect函數(shù)如何點石成金,將文本變成引用。
1、批量引用不同工作表的同一單元格
前面我們介紹了使用正確的單元格引用讓公式能批量應用到其他單元格、使用【表格】功能自動包含新增數(shù)據(jù),做到了這兩點,可以讓公式具有良好的擴展性。但這只能處理一個工作表的數(shù)據(jù),要處理多個工作表的數(shù)據(jù)時就無能為力了。比如圖 1?32各公司的收入統(tǒng)計表分工作表分別列示,表格格式和布局完全一樣:現(xiàn)要在“查詢表”分別引用各公司一季度的合計數(shù),用簡單的單元格引用各表相應單元格,其公式如下:B5單元格要引用'逸凡本部’工作表的B9單元格,公式為:B6單元格要引用“北京公司”工作表的B9單元格,公式為:上面的公式變化部分就是工作表的名稱,而A列相應單元格的內(nèi)容恰好是工作表的名稱,如果我們用A列單元格的內(nèi)容替代公式中工作表的名稱后還能否引用相應工作表的內(nèi)容呢?將B5單元格的公式修改為:公式解釋:上面的公式是將A5單元格的內(nèi)容與字符“!B9“用&符號連接起來,文本字符串要用英文雙引號括起來。輸入完前面的公式后,公式結(jié)果如圖1-34:它顯示的是原單元格引用公式的文本字符串(工作表名和單元格,中間用!分隔),而不是這個文本字符串代表的單元格的值。那如何將公式計算結(jié)果的文本字符串點石成金轉(zhuǎn)化為真正的引用呢?我們只需在上面公式最外層套一個INDIRECT函數(shù)即可,B5單元格完整的公式為:然后將B5單元格的公式拖動填充到其他單元格,即可批量引用A列單元格中指定工作表的B9單元格的值:需要強調(diào)的是,如果A列的公司名稱與工作表的名稱不一致,那么此公式就會出錯,計算結(jié)果為“#REF!“,這是因為INDIRECT函數(shù)其作用就是將文本字符串的單元格地址變?yōu)檎嬲囊谩H绻鸄列的公司名稱和工作表名稱不一致,公式肯定出錯,這和郵寄地址寫得不正確,快遞員拿著包裹沒法投遞是一個道理。=INDIRECT(文本字符串的單元格地址,引用類型)此函數(shù)的第二參數(shù)是用于表示使用A1引用樣式還是R1C1樣式,如果第二參數(shù)為 TRUE 或省略,則表示使用A1樣式的引用。R1C1樣式:R表示行,C表示列,A5單元格用R1C1樣式表示R5C1,C4用R1C1樣式表示就是R4C3。2、批量引用不同工作表的不同單元格
在INDIRECT中使用A1樣式會有一定的局限性,比如要求在圖 1?37中的A2單元格輸入指定的工作表名,就能自動查詢各表格各季度的收入數(shù)據(jù)。為了讓公式更靈活,希望在B5單元格輸入公式,將此公式拖動填充應用到其他單元格。這個公式填充到其他單元格時,其引用相應工作表的行列不會變化,因而其結(jié)果都是一樣的。要讓行和列隨著單元格變化,這時就需要使用R1C1樣式:“逸凡本部!B5”單元格使用R1C1樣式就是“逸凡本部!R5C2”,因而“查詢表2”B5單元格的的公式使用R1C1樣式就是:=INDIRECT($A$2&"!R5C2",0)上面公式的第二參數(shù)為0表示使用R1C1樣式。為了讓公式能拖動填充,將其完善為:=INDIRECT($A$2&"!R"&ROW()&"C"&COLUMN(),0)第一參數(shù)生成“逸凡本部!R5C2”,第二參數(shù)為0表示使用R1C1樣式。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。