2009年10月23日

2つの条件を満たす人の氏名

【数式クイズ】 難易度:★★★★☆
A1:C11のセル範囲に作成された購入額の一覧から、
・年齢が30歳未満
・購入額が30000円以上
の人の氏名を求め、E2セルに表示します。

quiz33.jpg

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


【解答例】
=VLOOKUP("*",IF((B2:B11<30)*(C2:C11>=30000),A2:A11),1,FALSE)

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

2つの列の条件をそれぞれ配列として乗算し、1であれば(つまりすべての条件が真なら)、同じ行のA列の値、それ以外はFALSEからなる配列を作成します。
この配列から、VLOOKUP関数で「*」、つまりFALSE以外の何らかの文字列を取り出しています。

別解もあるような気はしますが、とりあえず。

※追記
別解、やっぱりありました(^^;)。
posted by 土屋和人 at 09:03| Comment(0) | TrackBack(0) | Excelクイズ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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