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

高層階ですが・・・現実逃避中 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。