1289464659 エクセル2003を使っています。

関数で分からないのですが画像を参照下さい。

テーブルからC列に数字を反映させる関数はどのようにすれば良いでしょうか。
A3 山田
B3 A
C3 1(テーブルから算出)

よろしくお願いします。

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

ベストアンサー

id:beatgoeson No.1

回答回数128ベストアンサー獲得回数14

ポイント60pt

この例だと、

C3には、

「=INDEX($E$2:$J$9,MATCH(A3,$E$2:$E$9,0),MATCH(B3,$E$2:$J$2,0))」

としてください。

あとはコピーしてくれれば。

範囲が変われば、それに応じて変更してください。

id:namaewa_5

素晴らしい!バッチリです!

ちなみにこの式の考え方をコメント欄に書いていただけると

とても嬉しいです!

2010/11/11 18:11:30
  • id:beatgoeson
    最終的に求めたいセルの値を取得するために、行番号と列番号がわかればINDEX関数を使えます。
    INDEX関数は「範囲の中から、行位置と列位置を指定して値を取り出す」関数で、
    INDEX(範囲,行番号,列番号)
    http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/index_function.htm
    という使い方になります。

    で、行番号と列番号を知るにはどうすればいいでしょう?
    ここではMATCH関数を使います。MATCH関数は「範囲内で値を検索し、見つかった値が何番目に位置するかを数値で返す」関数で、
    MATCH(検索値,範囲 [,照合の型])
    このとき、[照合の型]は完全一致するという意味の0を指定します。
    http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/match.htm
    という使い方になり、名前の範囲から列番号、アルファベットの行から行番号をMATCH関数を使ってさがします。

    ですので、下記のような式となりました。
    =INDEX(テーブルの範囲, 行番号, 列番号)
    =INDEX(テーブルの範囲, MATCH(探す名前, 名前のリストの範囲、0), MATCH(探すアルファベット, アルファベットのリストの範囲, 0 ) )
    =INDEX($E$2:$J$9,MATCH(A3,$E$2:$E$9,0),MATCH(B3,$E$2:$J$2,0))」

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

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

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

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