• ベストアンサー

vlookup関数とHlookup関数の組み合わせ

Excelの関数で、HLOOKUPやVLOOKUPがありますが、この 2つの関数を合わせた様な感じで、列の値と行の値の 2条件がマッチした値を別シートに作成した集計表から 取得させたいですがどの様にすればよいでしょうか。 質問が分かりにくいですがどうぞよろしくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1です! 返答が遅くなってごめんなさい 計算結果がエラーの場合は「0」としたいわけですね? 数式がちゃんとあっているかどうか判りませんが =IF($A2="","",IF(ISERROR(INDEX($M$2:$U$5,MATCH($A2,$J$2:$J$5,0),MATCH(D$1,$M$1:$U$1,0))),0,INDEX($M$2:$U$5,MATCH($A2,$J$2:$J$5,0),MATCH(D$1,$M$1:$U$1,0)))) としてみてください。 結局前回の数式の結果がエラーの場合「0」を返す! という数式をIF関数をもう一つネストして ISERROR(・・・) と数式のIF関数の「真の場合」の式をはめ込んで、繰り返しているだけです。 以上、お役にたてば幸いです。m(__)m

tk_hero
質問者

お礼

上手くいきました。 ありがとうございます。

その他の回答 (2)

  • 135ok
  • ベストアンサー率34% (26/75)
回答No.2

OFFSET関数で作成しました。 D2 =IF(A2="","",OFFSET($J$2,MATCH($A2,$J$3:$J$6,0),MATCH(D$1,$K$2:$M$2,0)))    D10へは、D2をコピー A列、J列の値の変更と、D1、M2の表示の統合が必要かと。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! たぶん・・・ INDEX関数とMATCH関数の組み合わせで対応できると思いますが、 画像が小さいので文字がはっきり読み取れません。 こちらで勝手に↓のように表を作ってみました。 細かい部分は別として、INDEXとMATCH関数の使い方が理解いただければ良いのではないかと思います。 尚、各月の売上金額を表示させたいと言うことだと思いますが、 シリアル値で完全一致しないとエラーになりますので 左側の表の4・5・6・・・の月部分は2009/4/1 のように各月の1日として表示形式を ユーザー定義から m にしています。 そして、参照する表の各月部分も全てその月の1日にして、 表示形式を yyyy/m とします。 D2セルに =IF($A2="","",INDEX($M$2:$U$5,MATCH($A2,$J$2:$J$5,0),MATCH(D$1,$M$1:$U$1,0))) という数式を入れ、オートフィルで列方向と行方向にコピーすると 画像のような感じになります。 尚、MATCH関数を使用するに当たって、参照相手に同じ物があると上位の行(列)だけを参照してしまいますので、 もし利益等も表示させたいのであれば 「出力値」を別のものにする必要があります。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

tk_hero
質問者

補足

tom04さん、ご返答ありがとうございます。 結果が#N/Aとなる場合、該当のセルは0(ゼロ)となる様にしたいのですがどの様にすればよいのでしょうか?