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

假設:
B2=項目名稱
B3:B7分別=產品A、產品B、產品C、產品D、產品E
C2:O2分別=1月、2月、3月…12月、百分比
C3:O7分別=金額(O7=百分比數字)

以上的表格共有3個,因為分別為3個年度的資料

假設在A20做一個"年度"的下拉式選單,拉下來有90、91、92
如果我點選91年度,我希望
B20則為產品A的百分比
C20則為產品B的百分比
D20則為產品C的百分比
E20則為產品D的百分比
F20則為產品E的百分比

也就是我點哪一個年度,就會跑出ABCDE產品的百分比

我用了INDEX函數做,但因為有相對位置交叉關係,我不太會使用

請問要如何解決這個問題。

2005-12-17 20:37:01 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 軟體

2 個解答

20051218第一次修改因為沒看到你的資料來源的年度是放在那裡,我先用假設的方式來解,假設你的資料是依年度向下配置O3:O7是90年的百分比O8:O12是91年的百分比O13:O17是92年的百分比則你在B20的公式如下:=INDEX($O$2:$O$17,MATCH("產品A",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))將以上公式複製到C20:F20後,更改如以下內容即可C20公式如下:=INDEX($O$2:$O$17,MATCH("產品B",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))D20公式如下:=INDEX($O$2:$O$17,MATCH("產品C",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))E20公式如下:=INDEX($O$2:$O$17,MATCH("產品D",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))F20公式如下:=INDEX($O$2:$O$17,MATCH("產品E",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))(如果資料存放的格式不同時,需要另行修正公式。解釋如下,想使用INDEX()回傳資料的列數(以我的公式,可省略欄數的部分),以MATCH()和HLOOKUP()來產生。用HLOOKUP()來判斷是那個年度的資料,用MATCH()來抓取產品所在的列。兩者相加的值,就是特定年度的特定產品所在的列數。因為你是用A20作為年度的判斷,所以在HLOOKUP()中也是用A20來做判斷。若有來源資料的年度存放欄位,或可再更改公式。想對函數有進一步的認識,請自行查閱Excel的說明。有問題請再補充

2005-12-19 00:03:34 補充:
呃!你太快給我分數了,其他的修正還沒幫你做吔!
我做了一個試作檔[年度別產品百分比表]放在我的家族的檔案庫中,有興趣去看一下吧。
http://tw.club.yahoo.com/clubs/warehouse-of-Elvin/

2005-12-19 09:32:38 補充:
to[君],
HLOOKUP($A$20,{90,91,92;0,4,9},2,0)
這一段是用一個二維陣列作比對,看要加多少才是正確的列數,因版主要抓到的是三個不同的年度。

A20的下拉式選單用驗證做的。

(這個已經結案了,應該不會再回來看了)

2005-12-18 00:19:15 · answer #1 · answered by Elvin 6 · 0 0

TO~Elvin
您的excel功用真的很利害耶~在其中您所例的公式!
=INDEX($O$2:$O$17,MATCH("產品A",$B$2:$B$17,)+HLOOKUP($A$20,{90,91,92;0,4,9},2,0))
其中{90,91,92;0,4,9},2,0))這行我還是不太理解耶~
另外檔案A20的下拉式選單是如何做出來的呢?
可以麻煩您再解釋一下好嗎??不好意思哦~

2005-12-18 19:14:58 · answer #2 · answered by 心辰 1 · 0 0

fedest.com, questions and answers