SSブログ

立て項目と横項目の交わった値を取得したい [エクセル 同僚に聞かれた覚書]

↓こんな表(指標シート)があったとします。A表と呼ぶことにします。

00002.jpg

この表の縦項目(A~H)と 横項目(2~5)で 縦項目が「E」で 横項目が「3」だったら「784」を
別シートに表示したいんだなぁというご相談。

たとえば
↓下の表が別シートにあり「参加区分」(←A表の縦項目)と「参加日」(←A表の横項目)の交わるところを取得したいそうだ。
00001.jpg

ってな時は INDEX関数とMATCH関数を使用します。
INDEX関数:  =INEDX(範囲,行番号,列番号)
00002.jpg
縦項目(A~H)と 横項目(2~5)で 
縦項目が「E」で 横項目が「3」だったら「784」を
←A表でみてみると
範囲(取得したい数値の入っている範囲)は、セルB2(198)からセルE9(229)まで
行番号は縦項目A~H範囲の「E」なので 上から『5』番目
列番号は、横項目2~5の範囲で「3」だから左から『2』番目
これをINDEX関数に当てはめると
=INDEX(B2:E9,5,2)  となります。

試しに A表の下のセルに式を入力してみると
01.jpg

ほれ ちゃんと「784」を拾ってるがね。
って いちいち何番目と数えて式を入力していては日が暮れる。









でMATCH関数を合わせて使います。
=MATCH(検査値,検査範囲,照合の型)
00001.jpg
この表の「鈴木さん」の場合 
検査値:縦項目にあたる「参加区分」のセルは『E2』
検査範囲:A表の縦項目「A~E」(←別シート「指標シート」にある)ので 『指標!A2:A9』
照合の型:完全一致にしたいから 『0』
で 試しにMATCH関数を入力してみると
0.jpg
5.jpg
5番目ってのを数えてくれましたがね。
(INDEX関数の=INDEX(B2:E9,5,2) この5の部分ね)

同じように横項目もMATCH関数で拾うと
=MATCH(F2,指標!B1:E1,0)
検査値:横項目にあたる「参加日」のセルは『F2』
検査範囲:A表の横項目「2~5」(指標シート)なので 『指標!B1:E1』
照合の型:完全一致なので 『0』

INDEX関数を書きなおすと
=INDEX(指標!B2:E9,MATCH(E2,指標!A2:A9,0),MATCH(F2,指標!B1:E1,0))
入力してみると
00000.jpg
0000.jpg
A表の縦項目と横項目に合致した値を取得して表示されましたな。よかったよかった。
で、この式を下までドラックコピーして(コピーでずれないよう$マークを追加してからドラック)完了です。

=INDEX(指標!$B$2:$E$9,MATCH(E2,指標!$A$2:$A$9,0),MATCH(F2,指標!$B$1:$E$1,0))

1.jpg
nice!(6)  コメント(3)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 6

コメント 3

nyan

みてたら、自分も仕事している気になるわ~。なんか。

by nyan (2011-08-01 23:37) 

ちょろっとぶぅ

頭痛い(>_<)
by ちょろっとぶぅ (2011-08-02 17:41) 

poi

nyan氏
私も仕事してる気になってるわ~。

ちょろっとぶぅさん
日々、こんな事してますねん。
by poi (2011-08-04 21:42) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0