配列数式とSUMPRODUCTの利用

2011/08/13 Sat (No.420)

 昨日の続きです。作業セル使わずに集計するには、2つの方法があります。下の図をご覧ください。

関数

 第一は配列数式を使用するものです。ある行においてB列が関西大学、C列が男子、D列が合格であれば1を返すようにし、それを8行目から22行目まで集計するわけです。AND関数を使って、{=SUM(AND(B8:B22=$F$2,C8:C22=$F$3,D8:D22=$F$4))}と書けそうですが、配列数式においてANDは使えません。
 
 ここでは、B列が関西大学であればTRUEすなわち1を返し、そうでなければFALSEすなわち0を返すことを利用します。(B8:B22=$F$2)*(C8:C22=$F$3)*(D8:D22=$F$4)と書くと、すべてTRUEである時だけ1*1*1=1を返し、どこかがFALSEであれば0を返します。それを8行から22行まで合計することによって関西大学、男子、合格が集計されます。

 配列数式にするためには、F5のセルに、=SUM((B8:B22=$F$2)*(C8:C22=$F$3)*(D8:D22=$F$4))と入力しShift+Ctrl+Enterで確定します。{=SUM(...}と入力しても配列数式にはなりませんので注意してください。配列数式を使用する時はそれが配列数式である旨のコメントがないと、他人にはわかりづらくなります。

 第二の方法はもっとスマートです。配列を集計できる SUMPRODUCT関数を使用します。ある行において関西大学、男子、合格である時だけ1*1*1=1を返します。それを8行から22行まで集計します。
関連記事

コメント

Secret



プロフィール

進路ルーム

Author:進路ルーム
京都の大学で大学・大学院と8年間を過ごし、高校の教師となりました。文系ですが、コンピュータ大好き人間。人間(生徒)に倦むと機械(コンピュータ)が恋しくなり、機械に倦むと人間が恋しくなります。

ブログ内検索
カテゴリ
今まで訪問された方
最新記事
月別アーカイブ
RSSリンクの表示