Excelの関数で、HLOOKUPやVLOOKUPをよく使用します。

この2つの関数の合わせ技のような感じで、
列の値と行の値の2条件がマッチする値を取得させたい場合、
どのようにすればよいでしょうか。

どうぞよろしくお願い致します。

※質問の意味がわかりにくいかもしれないので、コメント欄も活用ください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/11/05 16:00:05
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:chuken_kenkou No.1

回答回数722ベストアンサー獲得回数54

ポイント23pt

sumproduct関数を使うパターンでしょうかね?


Excel豆知識29-3:エクセル:SUMPRODUCT関数


上記URLで、「sumproduct関数のもうひとつの使い方」として紹介されているパターンです。


具体的に、「どこにどういうデータが入っていて、どういう結果を得たい」と説明してもらえれば、具体的なアドバイスを得られると思います。

id:SALINGER No.2

回答回数3454ベストアンサー獲得回数969

ポイント23pt

VLOOKUPやHLOOKUPはセルの値を返す関数なので、この場合セルの位置を返す関数MATCHを使った方がうまくいきそうです。

MATCHで位置を取得して、INDEXかOFFSET関数を使ってセルの値を取得すればいいでしょう。

具体的には、サンプルのB18セルの数式に以下の数式を入れて範囲全体にコピーしてみてください。

=INDEX($A$1:$H$12,MATCH(INDEX($A$1:$D$22,ROW(),1),$A$1:$A$12),MATCH(INDEX($A$1:$D$22,17,COLUMN()),$A$1:$H$1))


  • MATCH関数

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm#mat...

  • INDEX関数

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm#ind...

id:bmax No.3

回答回数67ベストアンサー獲得回数16

ポイント22pt

VLOOKUP(もしくはHLOOKUP)とMATCH関数を組み合わせてはいかがでしょうか?


例えば、サンプルのB18セルに記載する内容だと以下になります

=VLOOKUP($A18,$A2:$H12,MATCH(B$17,A$1:H$1,TRUE),TRUE)

id:minubow No.4

回答回数216ベストアンサー獲得回数5

ポイント22pt

Index関数が良いと思います。

INDEX(セル範囲,match(値,横の行,0),match(値,縦の列,0))でできます。

match(★★,△△,0)の"0"は完全一致の検索で、

★★が、△△の範囲の中で、何番目のデータに完全一致するかを返します。

  • id:kaiton
    暇ができたら回答と思っていましたが、終了しましたので...
    別回答です。

    サンプルのファイルを元に
    B1:H12を選択し、「挿入」→「名前」→「追加」 上端行に チェックを入れ「OK」をクリック
    A2:H12を選択し、「挿入」→「名前」→「追加」 左端行に チェックを入れ「OK」をクリック
    これで、あ、い、う...とか、A,B,C...の名前が付きます。

    B18 =INDIRECT(B$17) INDIRECT($A18) でこれを右や下にコピー

    この説明をしているところが少なくて.. 
    http://1500.blogzine.jp/1500/2006/02/msexcel_3245.html
    ぐらいかな!? そのうち、自分の日記にでも書いておきます。
  • id:kaiton
    上の式の =INDIRECT(B$17)_INDIRECT($A18)
    間に半角スペース1個があります。(念のため) 
    わかりやすくするため_(アンダーバー)で置き換えてみました。

この質問への反応(ブックマークコメント)

トラックバック

  • INDIRECT関数を行列で組合せ INDIRECT関数を2個組み合わせて、表の行方向・列方向の接点を求める方法 Excelの関数で、HLOOKUPやVLOOKUPをよく使用します。 この2つの関数の合わせ技のような感じ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません