2009年11月22日

2つの条件を満たす人の購入額

【数式クイズ】 難易度:★★★★☆
このクイズの関連問題です。
前のクイズでは複数の条件を満たす行から文字列を取り出していますが、解答例の数式では数値を取り出すことができません。

今回は、A1:C11のセル範囲に作成された購入額の一覧から、
・性別が男
・年齢が40歳以上
の人の購入額を求め、E2セルに表示します。

quiz37.jpg

ただし、条件に合う人が複数いた場合は、一番先に出てきた人の購入額を表示します。
E2セルにはどのような数式を入力すればよいでしょうか?


【解答例】
=INDEX(C2:C11,MATCH(1,(A2:A11="男")*(B2:B11>=40),0))

セルにこの数式を入力したら、CtrlキーとShiftキーを押しながらEnterキーを押して、配列数式として確定します。

2つの列の条件をそれぞれ配列として乗算し、その結果が「1」(つまり2つの条件がともに真)である行の番号をMATCH関数で取り出して、INDEX関数の行番号に指定しています。

この数式は、前の氏名を求める問題にも応用でき、文字数的にもこちらのほうがやや短くなります。(^^;)
(「別解があるような……」と書いた通りだったわけですが)

まだ別解はあると思うので、よりシンプルな数式を思いついたらまた書きたいと思います。
posted by 土屋和人 at 06:13| Comment(0) | TrackBack(0) | Excelクイズ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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