【求助】excel表單求助



贊助商連結


victorlai
2005-07-21, 11:48 AM
需求

需要在AA SHEET中的表格
在A5的欄位中KEYIN XXX(ABC) OR XXX(CDR)中任一個XXX(2*3) OR XXX(6*5)其中一個
會帶出第八行的所有數據資料

當我在LOTNO中 C9 KEYIN 5123www 則也會帶出後面所有的數據.....

該如何去撰寫該程式或該如何設計該表單呢

期望各位先知可以協助
謝謝

[email protected]

贊助商連結


leonchou
2005-08-07, 02:21 AM
先提供函數公式的方式,若你覺得不合用再來說巨集方式。

以下是 AA 工作表的公式:

由於 XXX(2*3),XXX(6*5) 和工作表名稱並無對應關係,
故先在 D5 判斷 A5 對應的工作表名稱 --
=HLOOKUP($A$5,{"XXX(2*3)","XXX(6*5)";"XXX(ABC)","XXX(CDR)"},2,0)

接著第 8 列就可取得對應的內容 (每格公式都一樣) --
=INDIRECT(ADDRESS(ROW(),COLUMN(),,,$D5))

然後第 9 列根據輸入的 Lot No. 取得對應的內容 (每格公式都一樣) --
=VLOOKUP($C9,INDIRECT("'"&$D$5&"'!C9:AE100"),COLUMN()-2,0)

PS1. C9:AE100 是每個工作表的資料範圍 (暫定至100列)。
PS2. 如果不知公式為何這麼寫,可先參考各函數的輔助說明。

victorlai
2005-08-08, 08:07 PM
leonchou桑

感謝你的協助,但是我今天在做的時候發現你所說的

由於 XXX(2*3),XXX(6*5) 和工作表名稱並無對應關係,
故先在 D5 判斷 A5 對應的工作表名稱 --
=HLOOKUP($A$5,{"XXX(2*3)","XXX(6*5)";"XXX(ABC)","XXX(CDR)"},2,0)

在這HLOOKUP中我在EXCEL中的SHEET有將近80個
我就仿照你的作法...結果跟我說公式太常無法運作

但我想步道還有什麼方式可以改進呢???
我仿照你的作法是OK的...但對於太多的SHEET我卻不知該如何才好
可以再麻煩你嗎...謝謝
感謝

leonchou
2005-08-09, 01:28 AM
對照的資料較多時,可以在工作表上做一個對照表。
(上述的 HLOOKUP 只是把對照表直接寫在公式裡,適用資料少的情形)
HLOOKUP 適用橫式對照表 (鍵值在第一列);
VLOOKUP 適用直式對照表 (鍵值在第一欄)。
以 VLOOKUP 為例,做一個直式表格:
<table border=1 cellspacing=0 cellpadding=3 style="font-size:15px;line-height:15px;border:1px outset;">
<tr><td width=23 style="border:1px outset;background:#BEBEBE;">&nbsp;<td align=center style="border:1px outset;background:#BEBEBE;">C<td align=center style="border:1px outset;background:#BEBEBE;">D
<tr><td align=center style="border:1px outset;background:#BEBEBE;">1<td style="background:#FFFFFF;">XXX(2*3)<td style="background:#FFFFFF;">XXX(ABC)
<tr><td align=center style="border:1px outset;background:#BEBEBE;">2<td style="background:#FFFFFF;">XXX(6*5)<td style="background:#FFFFFF;">XXX(CDR)
<tr><td align=center style="border:1px outset;background:#BEBEBE;">3<td style="background:#FFFFFF;">XXX(7*8)<td style="background:#FFFFFF;">XXX(DVD)
<tr><td align=center style="border:1px outset;background:#BEBEBE;">4<td style="background:#FFFFFF;">XXX(4*9)<td style="background:#FFFFFF;">XXX(XYZ)
<tr><td align=center style="border:1px outset;background:#BEBEBE;">5<td style="background:#FFFFFF;">...<td style="background:#FFFFFF;">...
</table>
則下列 VLOOKUP 公式取得 A5 對應的工作表名稱:
=VLOOKUP($A$5,C1:D5,2,0)

其實要使問題更單純好解決,
最好對照的關係有規律,甚至是乾脆一樣,
則公式可以更容易判斷,也不需要對照表。

victorlai
2005-08-12, 11:17 AM
leonchou桑
感謝妳
我已經寫出完整的檔案了
謝謝你...我今天已經把此SHEET掛上去可以運作囉