2012-01-17 74 views
0

我有2個Excel表,我需要一個公式來根據類型和模型列的值從表2中獲取列*的值。Excel公式使用2張

Sheet1     Sheet2    

     *???   |    modelA modelB modelC 
typeA 100 modelA |  typeA 100  1  1 
typeB 50 modelB |  typeB 1  50  1 
...      |  ...   
typeY 20 modelA |  typeY 20  1  1 

在此先感謝您的任何建議

回答

1

讓我們試着將其分解成更小的問題。

  1. 你有「類型」和「模式」的信息,並希望在片2搜索匹配
  2. 當你找到比賽,你想用它們來參考值表2
  3. ...然後你想指的是價值,使之表1.

我的做法是沿着這些路線:

  1. 我們可以使用MATCH函數來查找一條信息,然後返回它在一個範圍內的位置。所以=MATCH("typeA", A4:A6)應該給我們答案'1'。如果我們使用MATCH來查找表2的類型和型號電池的位置,那麼我們就可以用這些作爲座標,使地址...

  2. 給出的座標,例如「1,1」,我們想要寫一個地址。 ADDRESS函數將爲我們做到這一點!例如,=ADDRESS(1,1) will give $A$1

  3. 然後,我們可以使用INDIRECT函數查看(並返回)此地址的內容。在表1中,=INDIRECT("$A$1")將返回'Sheet1'。

試圖湊齊一起,我想出了這個:

=INDIRECT("sheet2!"&ADDRESS(MATCH(A1, Sheet2!$A$1:$A$5), MATCH(C1, Sheet2!$A$1:$D$1))) 

看來工作!

這對你來說如何?我需要更好地解釋哪些部分?

問候, AZ

+0

看起來不錯在公式中。只是好奇心:是否有任何方式使用這2個不同的文件(fileX中的工作表1和fileY中的工作表2)?謝謝;) – thedev 2012-01-18 07:39:17

+0

INDIRECT可以做到*如果*兩張都打開。使用'= INDIRECT(「[C:\ path \ excelfile.xls] Sheet1!」&ADDRESS(... etc))'。如果您所指的表單已關閉,那麼它將不起作用 - 您可能想要使用VBA或第三方功能:[關於INDIRECT的ozgrid討論](http://www.ozgrid.com/forum/showthread .php?t = 44975)(我沒有經驗使用它們)。有關鏈接的更多信息,此頁面非常好:[關於鏈接的MS幫助](http://office.microsoft.com/)。COM/EN-US/Excel的幫助/關於聯到另一個工作簿或 - 程序HP005198424.aspx) – GnomeDePlume 2012-01-18 08:34:05

0

如果工作表在同一工作簿中的選項卡可以按名稱 = SUM引用它們(工作表Sheet1!A1 + Sheet2的!A1)

,如果他們從不同的工作簿來了,那麼你必須引用式中的路徑和名稱

= SUM(Sheet 1中A1 + 'C:[Book2.xlsx] Sheet 1中'!A1)

+0

,謝謝,我也很感興趣,讓我比較型號和類型 – thedev 2012-01-17 15:12:50