English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

如題
在同一個EXCEL檔案中有50個工作表,內容是50家公司客戶的資料
要如何把這些資料彙集到一個工作表?
我有試過輸入
A公司 ='01'!P$13
B公司 ='02'!P$13
C公司 ='03'!P$13
然後Mark用滑鼠向下接可是工作表卻不會依序為 ='04'!P$13 ; ='05'!P$13 ='06'!P$13
而是 ='01'!P$13 ; ='02'!P$13 ;='03'!P$13 ;='01'!P$13 ; ='02'!P$13 ;='03'!P$13 ;='01'!P$13 ; ='02'!P$13 ;='03'!P$13

2007-02-05 05:02:14 · 3 個解答 · 發問者 小卷 7 in 電腦與網際網路 軟體

哪個好心人快來幫忙回答一下

2007-02-05 05:24:34 · update #1

所以問題在於我的工作表名稱取為01,02,03....,造成的問題嗎?

你們的建議都很好,但問題是公司名稱也是要從工作表中引出來的,並不是我自己key的,因為工作表是別的部門提供的資料,我無法控制這些工作表一定會按照公司名稱順序

能不能幫忙.還有沒別的方法呢?


麻煩一下,感激不盡

2007-02-05 06:09:25 · update #2

3 個解答

你可以試試INDIRECT函數

(1) 如果你工作表的名稱是 01. 02. 03.....,你可以在一欄儲存各輸入 01. 02. 03...(與公司名稱相對應,如A1儲存格是A公司,B1儲存格則為01---最好是用文字格式),再來就是在要輸入公式的儲存格輸入 =INDIRECT("'" & B1 & "'!P$13") 即可.
   A     B    C
--------------------------------------------------------------------------------
1 |A公司  '01   =INDIRECT("'" & B1 & "'!P$13")
2 |B公司  '02   =INDIRECT("'" & B2 & "'!P$13")
3 |C公司  '03   =INDIRECT("'" & B3 & "'!P$13")
4 |D公司  '04   =INDIRECT("'" & B4 & "'!P$13")


或者

(2) 將工作表名稱改為A公司. B公司. C公司....,再輸入公式 =INDIRECT("'" & A1 & "'!P$13")
   A     B   
-------------------------------------------------------------------
1 |A公司  =INDIRECT("'" & A1 & "'!P$13")
2 |B公司  =INDIRECT("'" & A2 & "'!P$13")
3 |C公司  =INDIRECT("'" & A3 & "'!P$13")
4 |D公司  =INDIRECT("'" & A4 & "'!P$13")


以上公式只要輸入第一列,再複製向下貼上即可.

第1個方式會比較方便,第2個方式還要更改工作表名稱,會耗費許多時間

2007-02-05 05:48:41 · answer #1 · answered by 明純 5 · 0 0

假設你01-50工作表內A2為廠商名稱,P13為你所需ㄉ資料,51工作表為你想彙集ㄉ工作表
你可以在51工作表內A2輸入以下公式往下拖曳即可自動帶出廠商名稱: 【=IF(ISERROR(INDIRECT("'" & TEXT(ROW()-1,"00") & "'!A$2")),"",INDIRECT("'" & TEXT(ROW()-1,"00") & "'!A$2"))】 你可以在51工作表內B2輸入以下公式往下拖曳即可自動帶出你要ㄉ資料: 【=IF(ISERROR(INDIRECT("'" & TEXT(ROW()-1,"00") & "'!P$13")),"",INDIRECT("'" & TEXT(ROW()-1,"00") & "'!P$13"))】

圖片參考:http://img248.imageshack.us/img248/3014/indirectbm6.jpg

函數說明: ISERROR( Value): 指的是任何一種錯誤值 (#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!)。 INDIRECT:傳回一文字串所指定的參照位址。該參照位址內容會被立刻計算並顯示出來。INDIRECT 函數通常是您在公式中想要改變參照位址卻不想改變公式本身時使用。
語法:INDIRECT(ref_text,a1)
Ref_text:是個單一儲存格的參照位址;而這個儲存格含有依 A1 格式或 R1C1 格式所指定的參照位址、一個定義為參照位址的名稱或是一個定義為參照位址的字串。如果 ref_text 不是一個有效的儲存格位址,則 INDIRECT 傳回錯誤值 #REF!。

圖片參考:file:///C:/DOCUME%7E1/CHENDA%7E1/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif
如果 ref_text 指向另一個活頁簿 (外部參照),則那個活頁簿必須已經是開啟的,否則 INDIRECT 傳回錯誤值 #REF!。

圖片參考:file:///C:/DOCUME%7E1/CHENDA%7E1/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif
如果 ref_text 指向的儲存格範圍超出 1,048,576 的列限制或 16,384 (XFD) 的欄限制,INDIRECT 會傳回錯誤 #REF!。
附註 在 Microsoft Office Excel 2007 之前的 Excel 版本中此行為會有所不同,它會略過超出的限制並傳回值。
A1:是個邏輯值;用以區別 ref_text 所指定的儲存格參照位址,是以哪種方式表示的。

圖片參考:PicExportError
如果 a1 為 TRUE 或被省略了,則 ref_text 被解釋成 A1 參照表示方式。

圖片參考:PicExportError
如果 a1 為 FALSE,則 ref_text 被解釋成 R1C1 參照表示方式。
TEXT:以指定的數字格式將數值轉成文字。
語法:TEXT(value,format_text)
值 可以是數值、一個會傳回數值的或者是一個參照到含有數值資料的儲存格位址。
Format_text 是一個文字串包含在引號裡的數字格式。您可以在 [儲存格格式] 對話方塊之 [數值] 索引標籤的 [類別] 方塊中,按一下 [數值]、[日期]、[時間]、[貨幣] 或 [自訂] 看到不同的數值格式,然後檢視顯示的格式。
備註

圖片參考:file:///C:/DOCUME%7E1/CHENDA%7E1/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif
format_text 不能含有代表通配字元的星號 (*)。

圖片參考:file:///C:/DOCUME%7E1/CHENDA%7E1/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif
使用命令 (按一下 [常用] 索引標籤上 [數值] 群組中的 [數值] 旁的箭號,再按一下 [數值]) 來設定儲存格的格式僅能變更格式,而不會變更其值。使用 TEXT 函數則會將值轉換成格式的文字,其結果將不再以數值計算。

希望能幫助你^^

圖片參考:http://img149.imageshack.us/img149/7105/79684024vr9.gif

2007-02-05 07:21:12 · answer #2 · answered by ~無止盡ㄉ等待與傷害~ 6 · 0 0

建議您用函數來帶
假設您的工作表名稱為A公司.B公司.C公司
設彙總資料於總表
A1為A公司
A2為B公司
A3為C公司
則B1=INDIRECT(A1&"!P13")
B2=INDIRECT(A2&"!P13")
B3往下拖曳

2007-02-05 11:40:26 補充:
不一定要按公司名稱排序
A1的資料是以工作表名稱來建檔的
如果工作表名稱為1就設為1,為甲就設為甲
A1:A3的順序可以隨意排列

2007-02-05 13:26:43 補充:
方便的話
請您寄一小部份檔案
會比較清楚
sandymeq@yahoo.com.tw

2007-02-05 05:39:57 · answer #3 · answered by ? 3 · 0 0

fedest.com, questions and answers