2009年12月23日

2つの領域のいずれかを検索

【数式クイズ】 難易度:★★★☆☆
A2セルに「カメラ」か「パソコン」の文字とその商品コード(アルファベット1文字を含む3文字)を入力すると、「カメラ」ならA6:B10、「パソコン」ならD6:E8のセル範囲から該当するコードを探し、その金額をB2セルに表示します。

quiz39.jpg

quiz40.jpg

ただし、取り扱う商品はこの2種類だけで、これら以外の商品名が入力されることはありません。
また、未入力の場合や存在しないコードが入力される可能性も考慮しなくて結構です。

これをできるだけ簡単な数式で実現したい場合、B2セルにはどのような数式を入力すればよいでしょうか?


【解答例】
=VLOOKUP(RIGHT(A2,3),IF(A2<"キ",A6:B10,D6:E8),2,FALSE)

数式をIF関数から始めた場合、真の場合と偽の場合でそれぞれVLOOKUP関数を記述することになるため、文字数が多くなります。
ここではIF関数を、VLOOKUP関数の範囲の指定の部分で使用し、真と偽のいずれの場合も、単独の値ではなくセル範囲を返すようにしています。

またその論理式の部分でも、LEFT関数で最初の数文字を取り出すといった手間をかけず、不等号を利用して判定を行っています。
ここでは「キ」より小さいかどうかをチェックしていますが、区別の必要があるのが2つの文字列だけなので、「カメラ」と「パソコン」の間のどの文字でも判定に使用できます。

なお、ここではVLOOKUP関数の書式に忠実に「FALSE」としていますが、「できるだけ簡単な」を優先するなら、最後のカンマだけは残して「FALSE」を省略することもできます。
posted by 土屋和人 at 11:31| Comment(0) | TrackBack(0) | Excelクイズ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/34349540
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック