SUMPRODUCT関数を使ってイニシャルによる名前のグループ管理
昨日は、CODE関数とCOUNTIF関数を使って、イニシャルに基づいてグループ分けを行なった場合、それぞれのグループに何人ずつ含まれるかを求めてみました。
CODE関数を賢く使う
しかし、その際の問題点が二つ、ありました。
- CODE関数による処理結果を表示する列が必要だったこと。
- HからNのグループに含まれる人数だけ知りたいときにも、他の人数を計算しないと求められなかったこと。
送信者 OpenOffice |
このファイルでは、2つの問題点を一気に解決しています。
処理しているのは、例によってSUMPRODUCT関数です。この関数は、本当に重宝します。
全体に3つの構成になっていますが、手書き(コピー用紙の裏で恐縮です)を見ていただくと分かるようにそんなに難しい構成ではありません。
●1つ目の条件について
A2:A60セルのCODE関数の戻り値を求めている部分が、CODE(PROPER(ASC(A2:A60)))です。
すべて、英文字の半角大文字で書かれていることが分かっていれば、ここの部分は、CODE(A2:A60)に省略できます。
この部分の件は、CODE関数を賢く使うをご覧ください。
この値がCODE("A")と同じか、あるいは大きいかを1つ目の条件にしています。
これが、一つ目の()で囲んだ部分です。
(CODE(PROPER(ASC(A2:A60)))>=CODE("A"))
●2つ目の条件について
ここではA2:A60セルのCODE関数の戻り値が、CODE("G")と同じか、あるいは大きいかを2つ目の条件にしています。これが、一つ目の()で囲んだ部分です。
(CODE(PROPER(ASC(A2:A60)))<=CODE("G"))
●1つ目と2つ目の条件に合致したら
合致したら、これは即ち、イニシャルがAからGの範囲ということになります。そこで集計の対象にするために1を加えます。
ここまでの数式をSUMPRODUCT()で囲んでいるのが手書きの数式です。
HからNの場合
OからUの場合
VからZの場合は
それぞれ1つ目と2つ目のAとGの部分を返れば良いだけです。
SUMPRODUCT関数の数式を最終的に完成させるためには、=SUMPRODUCT(数式の中身)を入力して、CtrlキーとShiftキーを押しながらEnterキーを押せば{}は自動的に入力されます。誤ってEnterキーだけを押してしまった場合は下の手順でやり直せば一々数式を作り直さなくても済みます。
送信者 OpenOffice |