• ベストアンサー

エクセルの関数について

表1                     表2 ーーーーーーーーーーーーー    --------------  |1年|3ヶ月|1ヶ月|      | A| B| C| D| ーーーーーーーーーーーーー    ーーーーーーーーーーーーーー a|6万| 4万| 1万|     1| a|1年|関数|  | ーーーーーーーーーーーーー    -------------- b|4万| 3万| 1万|     2|  |  |  |  | ーーーーーーーーーーーーー    -------------- c|2万| 1万| 1万|     3|  |  |  |  | ーーーーーーーーーーーーー    -------------- 「表1」が別にありこの「表1」を参照して 「表2」で(A,1)欄に(a)を(B,1)欄に(1年)と インプットすると(C,1)欄に(6万)と表示する関数はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まずB1に入力した「1年」、「3ヶ月」、「1ヶ月」が表1の何番目の列であるかをMATCH関数で求めます。 何番目の列かがわかればVLOOKUP関数を使って簡単に表示させることができます。 組み合わせるとこんな感じかな。↓ =VLOOKUP(A1,表1の範囲,(MATCH(B1,表1の項目範囲,0)+1),FALSE)

sysyamatotiousak
質問者

お礼

ご回答ありがとうございました。 おかげ様で表が作成でき、時間の短縮になりました。 この関数の使い方がわかりましたので これからも色々な表で使わせてもらい「VLOOKUP関数」を 自分のものにしたいと思います。

その他の回答 (4)

  • kurukup
  • ベストアンサー率0% (0/1)
回答No.5

ANo2のkurukupです。 昨日言ったLOOKUP関数間違っていたかも・・・ ゴメンナサイ。 久々にこの関数を使うので会社で調べてきました。 OFFSETと言うやり方もありますが、INDEXとMATCHを使い式を組んでいました。 OFFSETの式と良く似てます。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

No.3です。 表1の左上がA1(A列にa,b,c、1行目に1年、3ヶ月、1ヶ月)と仮定しているので、その範囲が異なればこの関数式では正常に動作しません。 3箇所出てくる「Sheet1!」の後のセル参照、$A$1、$A$A、$1$1をそれぞれ表1の左上のセル、a,b,cの入ってる列、1年、3ヶ月、の入っている行に置き換えれば正常に表示されると思います。 まあ、このような場合は私も(V/H)LOOKUPを使うことが多いですが、OFFSETも知っておくと応用範囲が広いので覚えておくと便利だと思います。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

それではLOOKUPを使わない別解を。 表1のシート名がSheet1だとして、 =OFFSET(Sheet1!$A$1,MATCH(A1,Sheet1!$A:$A),MATCH(B1,Sheet1!$1:$1))

sysyamatotiousak
質問者

補足

回答ありがとうございました。 しかし、この通りインプットしましたが、「0(ゼロ)」としか 表示されません。何か間違えているのでしょうか?

  • kurukup
  • ベストアンサー率0% (0/1)
回答No.2

こんにちは 会社で生産管理のプログラムの作成を任されいます。この関数は確か2種類か3種類の関数から引き出す事が可能ですが、現在XPを導入後(エクセル2000~2003)であればHLOOKUPかVLOOKUPで簡単に出来ると思います。 昔のエクセル関数(H/V LOOKUP)はデーター数に限りがありました、その為数千、数万のデーターを引き出すのに、一つの式に関数を2~3種類使ってた訳で、今ならH/V LOO・・・でできますよ。 まずは頑張って下さい。

sysyamatotiousak
質問者

お礼

ご回答ありがとうございました。 他の人の回答を参考に「H/V LOOKUP」関数を 自分のものにしたいと思います。 解答を写すよりも自分で考えていった方が身に付くような気がします。

関連するQ&A