| 「中級・特別編トップへ」 |
|
| 中 級 14 |
Excelの基礎■ |
| |
|
| |
|
■SUBTOTAL関数SUBTOTAL関数は、リスト(データベース)から集計値を求める関数です。単なる集計はSUM関数でいいのですが、リストでオートフィルターを実行する場合はこのSUBTOTAL関数を使います。 書式で表すと、SUBTOTAL(集計方法, 範囲1, 範囲2, ...)となります。 実はこのSUBTOTAL関数は、One Point編の数式・計算No2 Q6「オートフィルター実行後の集計について」で解説していますので詳細及び使用例等は参照してください。
■SUMPRODUCT関数SUMPRODUCT関数は、引数として指定した配列の対応する要素間の積(掛算の結果)をまず計算し、さらにその和(足算の結果)を返します。前ページ中級13のPRODUCT関数とSUM関数を合体させた関数ともいえます。 書式で表すと、SUMPRODUCT(配列1, 配列2, 配列3, ...)となります。
◆使用例 1下図は、販売数と単価から直接売上合計金額を求めた例です。
このような表の場合、H3以下に「=C3*D3」とし順次計算させて、SUM関数で合計を求めたりしますが、SUMPRODUCT関数を使えばこの例ように一発で掛算と足算の結果を求めることができます。
◆使用例 2下図の例は、少し複雑な表配置から一発で合計金額を求めている例です。上段の表には、地域別の販売数があり、下段の表には地域別の単価が入力されています。
注意点は、同じ地域の販売数と単価は同じ列に配置すること、上下の表の列と行は同じ数にすることです。これが異なれば正しい答えを求めることができません。
◆配列数式についてここで、配列数式について簡単に触れておきます。配列数式という言葉はどこかで聞いたことがあるかと思います。実は上記の使用例
1及び2は、SUMPRODUCT関数を使わずSUM関数の配列数式で同じ結果を一発で求めることができるのです。
{ }の括弧は、キーボードに刻まれた括弧から入力しても無効です。必ずShift+Ctrl+Enterキーで入力する必要があります。そうしないとエクセルは配列数式として認識できません。 使用例 2の場合は、全く同じ操作で、{=SUM(C3:D6*C9:D12)}となります。これで同じ結果を求めることができます。
※配列については、特別編で詳しく解説する予定です。 |
■RAND関数RAND関数は、0 以上で 1 より小さい乱数を発生させる関数です。ワークシート上で入力などの操作をすると、ワークシートはその都度再計算されますが、その度に新たな乱数を発生させます。(F9キーでも再計算されます。)乱数とは簡単に言えば、意図的でないランダムな数字です。 書式で表すと、RAND()となります。
◆使用例下図はRAND関数で乱数を求めたいろいろな例です。
この図の例では、整数化するのにINT関数を使っていますが、TRUNCやROUNDUP、ROUNDDOWNなどの関数を使えば自在に桁数の調整が可能です。
■RANDBETWEEN関数RANDBETWEEN関数も乱数を発生させる関数です。上記のRAND関数と似ていますが、RANDBETWEEN関数の場合は、指定範囲内の整数の乱数を発生させる関数です。 書式で表すと、RANDBETWEEN(最小値, 最大値)となります。
◆使用例
例の引数は、すべて数値を直接入力していますが、当然セル参照でも指定できます。
※RANDやRANDBETWEEN関数は、実務の上ではあまり使うことがないように思えます。しかし、データから無作為な抽出をしたり、何かの当選者を決めることなどに利用することができます。工夫次第でいろいろな場面で使うことができるものです。工夫してみてください。 |