アプリ版:「スタンプのみでお礼する」機能のリリースについて

VLOOKUP関数の列番号を 1、2、とかではなく、
計算して列番号を設定することはできますか?

シート2 に入っているデータを参照して
シート1 に関数をいれて、表示させたいと思っています。

シート2 データは
3行目に、項目(品名、(1)材料名、(2)数量、(2)材料名、(2)数量、...、(10)材料名、(10)数量)
A列、 B列、 C列、 D列、 E列、...、 M列、 N列

クッキー、小麦粉、100、卵、1、...、砂糖、20
クラッカー、小麦粉、100、米粉、10、...、りんご、0.2

が入っていて、4行目から100行目くらいまでデータがはいっています。

シート1 の セルA5に品名を入力すると、
シート2の(1)材料名がセルA6に、
(1)数量がセルB6に、
(2)材料名がセルA7に、
(2)数量がセルB7に、
...
(10)材料名がセルA15に、
(10)数量がセルB15に、

入るように作りたいのですが、VLOOKUPの列番号を
COLUMNやINDEXなど試してみましたが、エラーばかりで
うまくできません...VLOOKUPでは無理なのでしょうか?

どなたか詳しい方教えてください。よろしくお願いします・

A 回答 (3件)

できるよ。



列を指定する前に、シート間の参照になるので参照範囲を絶対参照の形で参照していますか。
絶対参照になっていないと、それだけでエラーになります。
「絶対参照ってナニ?」というのでしたら、参照範囲に名前を付けちゃってください。
参照範囲のセルをすべて選択したら、左上の名前ボックスに「調べたい範囲」などと入力してください。
(名前ボックス:A1セルを選択すると左上にA1と表示される場所です)
でもって、
 =VLOOKUP(A5,調べたい範囲,1,False)
などと指定すればOK。
分かりやすい名前を付けておくと便利です。

■本題
んと…はじめから決まった値を詰めておけばいいと思う。
 A6=VLOOKUP(A5,調べたい範囲,1,False)
 B6=VLOOKUP(A5,調べたい範囲,2,False)
 A7=VLOOKUP(A5,調べたい範囲,3,False)
 …
と決めておけばOK。
わざわざ関数で列を求める必要は無いでしょ?
これで何か問題がありますか。
たかだか十数個の項目です。悩むより簡単な方法を選びましょう。
(#N/A のエラーは無視するように IF関数を組み合わせましょう)
    • good
    • 0
この回答へのお礼

参照範囲に名前をつけるというのは
数式を後から見ても分かりやすいですね。
ありがとうございました。

お礼日時:2010/12/27 13:10

一例です。


A6に=VLOOKUP($A$5,Sheet1!$A$4:$N$100,ROW(A1)*2,FALSE)
B6に=VLOOKUP($A$5,Sheet1!$A$4:$N$100,ROW(A1)*2+1,FALSE)
以上を設定して下方向にコピー
    • good
    • 0
この回答へのお礼

ROW(A1)*2 ROW(A1)*2+1
↑下方向にコピーしたら、うまくいきました。

助かりました。ありがとうございました。

お礼日時:2010/12/27 13:14

列位置をセル参照にする方法があります。


「(Step Up)共通の数式に変更する」
を参照してください。

参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
    • good
    • 0
この回答へのお礼

参考URLまで教えていただいてありがとうございました。

関連した事柄が他にものっていたので参考になりました。

お礼日時:2010/12/27 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!