|
|
|
|
|
|
|
|
|
|
|
|
「StiLL」Excel情報193 関数--表の中から2つの条件に一致するものを調べる-その2 |
|
|
|
|
|
|
|
|
|
|
|
|
■前回のメールサービス(192)では、範囲名を利用して2つの条件に一致する値を求める方法をご紹介しました。今回は範囲名を使うのではなく、関数を利用して同じ結果を求める方法をご紹介します。 |
☆対応方法:条件がない場合に「#REF!」や「#N/A」などのエラー値になってしまうのを防ぐためには「IF関数」を使用しましょう。 |
※ご参考までに。「IF関数」を利用すると数式が長く、複雑になってしまいますが、エラー値を出さないためには不可欠な関数です。関数が苦手な方は、1つのセルに関数を1つずつ入れ、結果を解析していくと理解が深まります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
■表の中から2つの条件に一致するものを調べる方法 |
|
|
|
|
|
|
|
|
|
今回も、前回と同じサンプルの表 |
|
を利用します。 |
|
|
|
|
商品名・都市を選ぶと、 |
|
B2:E5 の範囲にある表から |
|
該当する数量を求める方法 |
|
のご紹介です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
この表は「サンプル」シートに |
|
ありますのでご利用ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■方法その1 セルに範囲名をつける方法 |
|
|
|
|
|
|
前回のメールサービスはこちらをご覧ください。 |
|
|
|
|
|
|
【バックナンバー 192】
表の中から2つの条件に一致するものを調べる-その1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■方法その2 MATCH関数・INDEX関数 を組み合わせた方法 |
|
|
|
|
今回は、「MATCH関数」と「INDEX関数」を組み合わせた方法をご紹介します。 |
|
|
|
関数を1つ1つ説明していきます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@「MATCH関数」を利用して、選択された『商品』の位置を調べる数式を作ります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
この数式は、「D10」(選択した商品名)の値が「B3:B5」(表の中の商品名)の中の上から何番目 |
|
|
にあるか、ということを調べる関数です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
最後の「0」(ゼロ)は、完全に一致するもののみを検索する、ということを表します。 |
|
|
|
ゼロを省略してしまうと違う結果になってしまいますので、必ず指定してください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例:「醤油」が選択されていた場合 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
3 |
醤油 |
|
10 |
醤油 |
|
|
|
|
|
|
4 |
ソース |
|
|
|
|
|
|
|
|
|
5 |
みりん |
|
「醤油」は「B3:B5」の中で一番上にあるので |
|
|
|
|
|
|
結果は『1』になります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A次は「MATCH関数」を利用して、選択された『都市』の位置を調べる数式を作ります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
この数式は、「D12」(選択した都市名)の値が「C2:E2」(表の中の都市名)の中の左から何番目 |
|
|
にあるか、ということを調べる関数です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
商品名とは違い、表の中の都市名が横方向に並んでいますので、今回は「左から」何番目とい |
|
|
うように変わりますので、ご注意ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@と同じく、最後の「0」(ゼロ)は省略しないでください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例:「東京」が選択されていた場合 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
E |
|
|
D |
|
|
|
|
2 |
東京 |
名古屋 |
大阪 |
|
12 |
東京 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「東京」は「C2:E2」の中で一番左にあるので |
|
|
|
|
|
|
結果は『1』になります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B「INDEX関数」と@Aを組み合わせた数式を作ります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
この数式は、「C3:E5」(表の中の数量の部分)から、指定した上からの行番号と左からの列番号 |
|
の部分にある値を返す、というものです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例:「醤油」と「東京」が選択されていた場合 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
C |
D |
E |
|
|
|
|
|
|
2 |
|
東京 |
名古屋 |
大阪 |
|
|
|
|
|
|
3 |
醤油 |
600 |
45 |
55 |
|
|
|
|
|
|
4 |
ソース |
200 |
65 |
12 |
|
|
|
|
|
|
5 |
みりん |
300 |
2 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「MATCH(D10,B3:B5,0)」の結果は『1』、「MATCH(D12,C2:E2,0)」の結果は『1』なので |
|
|
|
「INDEX(C3:E5,1,1)」となり、「C3:E5」の上から1番目・左から1番目ということになるので |
|
|
結果は『600』となります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
※「=INDEX(B2:E5,MATCH(D10,B2:B5,0),MATCH(D12,B2:E2,0))」でも結果は同じです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ここまではできましたか? |
|
|
|
|
|
|
|
|
Bと同じ数式が「サンプル」シートの「D22」に設定されていますのでご覧ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
今回もここで注意しなければならないことがあります。 |
|
|
|
|
|
商品名(D10) または 都市(D12) が選択されていない場合は、 |
|
|
|
|
|
Bの数式では「#REF!」エラーになってしまいます。 |
|
|
|
|
|
|
では次に、「#REF!」エラーにならないように、Bの数式を少し変更してみましょう。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C「IF関数」を使用した数式に変更します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@の数式がエラーのとき または Aの数式がエラーのとき は『該当なし』という文字を表示し、 |
|
|
そうでなければBの数式の結果を返す、という数式になります。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
いかがでしたでしょうか? |
|
|
|
|
|
|
|
|
Cと同じ数式が「サンプル」シートの「F22」に設定されていますのでご覧ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ご参考までに。 |
|
|
|
|
|
|
|
|
|
Cの数式を応用して |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
という数式にすると、メッセージが分かりやすくてよいですね。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます |
|
|
|
|
|
|
|
|
|
|
|
|