「StiLL」Excel情報192  関数--表の中から2つの条件に一致するものを調べる-その1
■前回のメールサービスで「=1:1 A:A」という、セル範囲をスペースでつなげるという方法をご紹介しました。今回はそれを応用し、表の中から2つの条件に一致する値を求める方法をご紹介します。 ☆対応方法:「#REF!」や「#N/A」などのエラー値になってしまうのを防ぐためには「IF関数」を使用しましょう。 ※ご注意ください。今回のセルに範囲名をつける方法では、都市・商品名が変わってしまったときには範囲名を付け直さなければならない、という欠点があります。次回は、セルに範囲名をつけない方法をご紹介します。
■表の中から2つの条件に一致するものを調べる方法
今回は、サンプルとして右の表
を利用します。
商品名・都市を選ぶと、
B2:E5 の範囲にある表から
該当する数量を求める方法
のご紹介です。
この表は「サンプル」シートに
ありますのでご利用ください。
■方法その1 セルに範囲名をつける方法
まず、セルに範囲名をつけて、指定された条件のセル範囲をスペースでつなげる、という方法
をご紹介します。
文章で説明をすると分かりにくいと思いますので、さっそくいってみましょう。
①商品名で、セルに範囲名をつけます。
  東京 名古屋 大阪
醤油 600 45 55 ←セル「B3:E3」に『醤油
ソース 200 65 12 ←セル「B4:E4」に『ソース
みりん 300 2 5 ←セル「B5:E5」に『みりん
という範囲名をつけます。
②都市名で、セルに範囲名をつけます。
  東京 名古屋 大阪
醤油 600 45 55
ソース 200 65 12
みりん 300 2 5
↑セル「C2:C5」に『東京
↑セル「D2:D5」に『名古屋
↑セル「E2:E5」に『大阪
という範囲名をつけます。
これで下準備は終わりです。ここまではできましたか?
セルに範囲名をつける方法がわからない場合は 【バックナンバー 038】 をご覧ください。
同じ範囲名がすでに「サンプル」シートにも設定してありますので、ご覧ください。
③前回のメールサービスの「7.=1:1 A:A」を応用した数式を作ります。
分かりにくいかもしれませんが、(D10) と INDIRECT の間に半角スペースがあります。
「INDIRECT(D10)」では、選択された商品名の範囲の値を返します。
例:「醤油」が指定された場合は「B3:E3」の値を返します。
「INDIRECT(D12)」では、選択された都市の範囲の値を返します。
例:「東京」が指定された場合は「C2:C5」の値を返します。
これをスペースでつなげることにより、選択された商品名・都市の交わるところの
値を返すようになります。
ここまではできましたか?
③と同じ数式が「サンプル」シートの「D18」に設定されていますのでご覧ください。
ここで注意しなければならないことがあります。
商品名(D10) または 都市(D12) が選択されていない場合は、
③の数式では「#REF!」エラーになってしまいます。
では次に、「#REF!」エラーにならないように、③の数式を少し変更してみましょう。
④「IF関数」を使用した数式に変更します。
商品名(D10) または 都市(D12) が空欄のときは『該当なし』という文字を表示し、
商品名・都市の両方が選択されていれば、一致したものを出す、という「IF関数」を
使用した数式に変更します。
いかがですか?
④と同じ数式が「サンプル」シートの「F18」に設定されていますのでご覧ください。
ここで疑問に思われた方がいらっしゃるかもしれません。
「東京」が「福岡」になってしまった
「みりん」が「味噌」に変わってしまった
という場合は、範囲名を付け直さなければなりません。
それは少々面倒ですね。
そこで、次回は範囲名を利用しない方法をご紹介します。
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます