Windows8 & Office2013 Excel2013

行と列の交差するセルの値を求める

投稿日:

Excelで下のようなマトリックス表があって、このマトリックス表の行と列の交差する値を関数を使って自動的に求める方法です。早見表などでも使用できると思います。

下の表は、1行目に店名、A列に食材名が表記されています。セルC13に食材名をセルC14には店名を入力すると、セルC15には、価格が自動的に表示できるようにしたいと思います。
エクセル表

まず、セルC13とセルC14には、入力規則を設定していてプルダウンから選択できるようにします。
セルC3を選択して、[データ]タブの[データの入力規則]をクリックします。
データの入力規則

[データの入力規則]ダイアログボックスで[設定]タブにある[入力値の種類]のプルダウンメニューから[リスト]を選択します。
[データの入力規則]ダイアログボックス
スポンサーリンク

そして、元の値の拡大/縮小ボタンをクリックします。
[データの入力規則]ダイアログボックス

食材名が表記されているセルA2からセルA11までをドラッグします。そして、再度 ダイアログボックス拡大/縮小ボタンをクリックします。
範囲選択

元の値に食材のリスト範囲が指定できたことを確認して、[OK]ボタンをクリックします。
[データの入力規則]ダイアログボックス

セルC13をクリックすると、ドロップダウンリストが表示されリストから食材を選択できるようになります。
同じようにしてセルC14にも入力規則を設定して、リストから店名を選択できるようにします。
リストから入力

セルC15に関数を入力します。
INDEX関数とMATCH関数を組み合わせますが、まずINDEX関数を解説します。

INDEX関数

=INDEX(参照,行番号,列番号)
上記の表では、参照範囲はセルB2からセルH11、行番号は7(食材Gは参照範囲内で7番目)、列番号は4(D店は参照範囲内で4番目)となります。セルC5の数式は以下のようになります。
=INDEX(B2:H11,7,4)
数式

行番号は参照範囲内で何番目、列番号は何番目といちいち数えるのは面倒ですね。そこで、MATCH関数を使うと便利です。

MATCH関数

=MATCH(検査値,検査範囲,照合の型)
上記の表で、セルC13に入力した食材が範囲内で何番目になるかを求めるには
検査値はセルC13、検査範囲はセルA2~A11、照合の型は検査値と完全一致を求めるので0となります。数式は以下のようになります。
=MATCH(C13,A2:A11,0)

同じようにセルC14に入力した店名が範囲寧で何番目になるかを求めます。
=MATCH(C14,B1:H1,0)

INDEX関数にMATCH関数をネストします。
セルC15に以下の数式を入力します。
=INDEX(B2:H11,MATCH(C13,A2:A11,0),MATCH(C14,B1:H1,0))

INDEX関数にMATCH関数をネストしたのがわかりますね。

数式

関連記事です。ぜひご参照ください。
3つの条件を満たす値を求めるには
INDEX関数とMATCH関数

トラブルをすぐに解決したいならteratail

お勧め記事と広告

関連記事

グループ化ができない

Wordで画像を挿入した後、図形を重ねて、それをグループ化しようとしてもグループ化ができないことがあります。下のように挿入した画像を選択して ...

分類項目の設定

Office2013でメッセージの分類項目に色をつけて割り当てる方法です。 分類項目で色分けをしておくと、目的のメールを探しやすくなりますし ...

マウスで罫線を引く

Word2013で[罫線を引く]コマンドは3か所にあります。 ①まず、[ホーム]タブの[段落]グループにあります。[罫線]の▼ボタンをクリッ ...

省略波線の作り方

Excelで省略を意味する波線を作成する方法です。 下のようにグラフで数値が極端に違う場合に使用するといいですね。波線の上下はは黒い線で、中 ...

便箋のような罫線を引いた用紙を作成したい

Wordで下のように便箋のような罫線を引いた用紙を作る方法です。 新規文書でEnterキーを連打して、段落記号を罫線を引きたい範囲に表示しま ...

-Windows8 & Office2013 Excel2013

Copyright © 2001-2017 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2017 AllRights Reserved Powered by AFFINGER4.