2009年09月18日

希望者数が最多の球団名

【数式クイズ】 難易度:★★★☆☆
B3:D7のセル範囲に入力された希望球団名(を表す1文字)のうち、最も多く登場する球団名をF2セルに表示させます。

quiz06.jpg

ただし、最も多く登場する球団名が複数ある場合は、そのいずれか1つが表示されればOKです。
(解答例の数式では、最初に登場した球団名が表示されます)

F2セルにはどのような数式を入力すればよいでしょう?


【解答例】
=CHAR(MODE(CODE(B3:D7)))

最頻値を求めるMODE関数の対象となるのは数値だけなので、一度CODE関数で文字コードに変えて最頻値を求め、その結果をCHAR関数で文字に戻しています。
この方法は対象の文字が1文字だから使える手であり、2文字以上になると別の手を考える必要があります。

ところで、数式中の「CODE(B3:D7)」という部分には違和感を覚える人も多いでしょう。
逆に、こういう形を見慣れている人は、「配列数式にしなくてもいいの?」と疑問に思うかもしれません。

この数式の場合は普通にEnterで確定してOKなのですが、たとえば「文字コード順で一番後の文字」を求めるために、MODE関数をMAX関数に置き換えた数式の場合は、Ctrl+Shift+Enterで配列数式として確定する必要があります。

どうしてそうなのか、ということについては、次の機会に(久しぶりに普通のExcelの記事として)書きたいと思います。
posted by 土屋和人 at 06:41| Comment(0) | TrackBack(0) | Excelクイズ
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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