エクセル(Excel)/ 「COUNTIF 関数や SUM 関数を使って集計シートを作る」 ~ エクセルで作った簡単な学習計画を例に

前回は、表計算ソフト「エクセル」(Excel)で作った簡単な学習計画を例に、「シートをドラッグしてコピーする方法」の他、「シート見出しをダブルクリックしてシート名を変更する方法」、「セルを結合せず、選択範囲内で中央に配置する方法」、「『書式』を検索する方法」について紹介しました。

今回は、同じ学習計画を例に、「COUNTIF 関数や SUM 関数を使って作成した集計シート」を紹介します。

 操作は、Office365版Excelで行っています。

時数を集計するシート

コピー元のセルを作成する

集計シート

<図1>は、ブック「エクセルで作った簡単な学習計画」のシートで、シート見出しは「集計」である。
<図1>

 

このブックのタイトルは、この記事用に変更したものです。また、このシートは提出用ではなく、あくまで、各シートの集計欄にこの数値を反映させるために作られたものです。

 

各シートは、前回の記事で「シート19」まで作成しました。

 

シート見出し「集計」を、以下、集計シートと呼ぶことにします。

 

集計シートの作成

「B4」セルをクリックする(マウスの左ボタンを押す)と、数式バーに COUNTIF (カウントイフ)から始まる数式が表示される。<図2>
<図2>

 

COUNTIF 関数は、「指定した範囲内で、1 つの検索条件に一致するセルの個数を返す」関数です。

 

「B4」セルの数値「7」は、「シート1」の「A6」セル~「M16」セルの中の「4の1」の個数をカウントしたものです。

 

COUNTIF 関数の入力

COUNTIF 関数を入力してみます。

 

「B4」セルをクリックして選択、数式バーを空欄にした後、数式の入力が始まることを意味する = (イコール)を数式バーに直接入力する。<図3>
<図3>

 

「関数名のリスト」

= (イコール)に続いて、cou と入力すると、cou で始まる関数名(ここでは「関数名のリスト」とよびます)が表示される。

「関数名のリスト」の中から COUNTIF をダブルクリック<図4の1>すると、数式バーに COUNTIF( と表示される。<図4の2>
<図4の1>

 

<図4の2>

 

シート見出しをクリック

「シート1」の中を検索するので、シート見出しの 1 をクリックする。クリックと同時に数式バーに '1'! と表示される。<図5>
<図5>

 

数式では、シート見出しに ! (エクスクラメーションマーク)が付きます。

 

また、数字で始まるシート見出しは、' (シングルクォーテーションマーク)で囲みます。

 

数式バーの '1'! は、「シート1」を表します。シート見出しをクリックしないで、数式バーに直接 '1'! と入力することもできます。

 

セル範囲をドラッグ

「シート1」の左側の週の1時間目「A6」セルから右側の週の6時間目「M16」セルまでの間をドラッグ(マウス左ボタンを押したまま移動)すると、ドラッグしたセルの範囲が緑の点線の枠で囲まれ、ドラッグと同時に、数式バーにセル範囲が表示される。<図6>
<図6>

 

数式バーには、参照するセル範囲が A6:M16 と表示されます。

 

セル範囲を事前に「A6~M16」とメモしておいて(覚えておいて)、数式バーに直接 A6:M16 と入力してもかまいません。

 

: (コロン)は、セル参照範囲を表します。

 

セル範囲を絶対参照に変える

数式をコピーしても、参照先のセルが移動しないように、[F4]キーを押し、参照するセル範囲を絶対参照「$A$6:$M$16」に変える。<図7>
<図7>

 

カンマを入力する

範囲指定が終わったので、, (カンマ)を入力する。<図8>
<図8>

 

検索条件を入力する

目的は、「4の1」の時数をカウントすることなので、検索条件に"4の1"と入力し、最後に数式を ) で閉じる。<図9>
<図9>

 

文字列は、" (ダブルクォーテーションマーク)で囲みます。

 

数式は、ここまで半角英数モードで行ってきましたが、この"4の1"だけは、4も1も全角で入力します。
(各シートのクラス名の表記が全角で入力されていて、それを探してカウントするからです)

 

エンターキーを押す

[Enter](エンター)キーを押すと、集計シートの「B4」セルに 7 と表示される。<図10の1>
<図10の1>

 

「シート1」の学習計画を見ると「4の1」が7時間あることがわかる。<図10の2>
<図10の2>

 

数式を同じ行へコピーする

集計シート「B4」セルに入力されている数式を、「オートフィル機能」(セル右下のフィルハンドルをドラッグしてコピーする)を使って同じ行番号「L4」のセルまでコピーします。

 

オートフィル機能を使う

「B4」セルをクリックして選択、「緑色の太枠」右下の「四角形のフィルハンドル」にマウスポインター(以下、ポインターとよびます)を合わせると、ポインターが「黒い十字」に変わる。<図11の1>
<図11の1>

 

「黒い十字」を「L4」セルまでドラッグ<図11の2>し、マウス左ボタンを離すと、数式がコピーされ、各セルに数値が表示される。<図11の3>
<図11の2>

 

<図11の3>

 

各セルの数値がすべて 7 になっていて、すべてのセルに同じ数式がコピーされているのが予想されます。後で、他の関数を使用して修正しますので、このまますすめます。

 

SUM 関数で合計を求める

集計シートの合計欄に合計を求める SUM (サム)関数を入力するため、合計欄の「M4」セルをクリックして選択する。

 

SUM 関数の入力方法は、

「ホーム」タブの「編集」グループにある[オートSUM]ボタンをクリックし、参照範囲が合っていれば<図12の1>、[Enter]キーで確定する。(合っていなければ、参照したい範囲をドラッグして、[Enter]キーで確定する)
<図12の1>

 

数式バーに =SUM() と入力し、()内にカーソルを置き「B4」セル~「L4」セルをドラッグして参照範囲を決め<図12の2>、[Enter]キーで確定する。
<図12の2>

 

数式バーに直接 =SUM(B4:L4) と入力し、[Enter]キーで確定する。

など、いろいろな方法がある。

 

合計欄「M4」セルを同じ列内にコピー

「オートフィル機能」を使って、合計欄の「M4」セルを同じ列内の「M5」セル~「M7」セルへコピーする。<図13>
<図13>

 

 ここでは、「オートフィル機能」を使ってコピーした後の数式が、どのように変わっているか調べることにします。

 

「数式」タブの「ワークシート分析」グループにある[数式の表示]ボタンをクリックし、数式バーの数式をセル内に表示させて確認します。<図14>
<図14>

 

コピー元のセル範囲 B4:L4 が相対参照なので、コピー後の参照先のセル範囲が、自動的に変更された数式(1行ずつ行番号がずれた数式)になっています。「オートフィル機能」の便利さがわかります。

 

数式のセル内表示を解除するときは、[数式の表示]ボタンを再度クリックします。

 

シート見出しにオートフィル機能を使う

オートフィル機能が使える文字列へ

変わっていないシート見出し

集計シート「B4」セルに入力されている数式を、「オートフィル機能」を使って同じ行のセルへコピーしたが、シート見出しは '1'! のままで変わらなかった。<図15>
<図15>

 

INDIRECT 関数を挿入する

「B4」セルの数式バーに表示されている '1'!$A$6:$M$16 を消し、in と入力する。

表示された「関数名のリスト」の中から INDIRECT (インダイレクト)をダブルクリック<図16の1>すると、数式バーに INDIRECT( と表示される。<図16の2>
<図16の1>

 

<図16の2>

 

INDIRECT 関数は、「指定される文字列への参照を返す」関数です。

 

シート名が入ったセルを選択

シート見出し 1 が入力されている「B3」セルをクリックし、&(アンパサンド)を入力する。<図17>
<図17>

 

※ &(アンパサンド)は、文字列を結合する演算子です。

 

COUNTIF 関数と INDIRECT 関数の組み合わせ

"!A6:M16"を入力し、 ) で閉じた後<図18の1>、[Enter]キーで数式を確定し、再び「B4」セルをクリックして選択する。<図18の2>
<図18の1>

 

<図18の2>

 

 文字列を結合する&(アンパサンド)、文字列を表す " (ダブルクォーテーションマーク)、シート見出しを表す ! (エクスクラメーションマーク)を入力しました。

 

このことで、(B3&"!A6:M16")は、「B3」セル内に入力されている文字とシート見出しを表す ! が文字列として認識されます。つまり、文字列 1 ! となり、「シート1」を意味するようになります。

 

また、"!A6:M16"と入力することで、「A6」セルから「M16」セルを文字列として表す(参照元が移動しない)ようになります。

 

4クラス分のコピー元のセルを作る

INDIRECT関数を挿入した「B4」セルの数式を、「オートフィル機能」を使って同じ列のセルへコピーします。

 

「B4」セルを同じ列内にコピー

「オートフィル機能」を使って、「B4」セルを同じB列の「B5」セル~「B7」セルへコピーする。<図19>
<図19>

 

「オートフィル機能」を使ってコピーした後の数式を[数式の表示]ボタンをクリックし、セル内に表示させて確認します。<図20>
<図20>

 

コピー元のシート名を表す B3 が相対参照なので、コピー後の参照先のセル範囲(シート名)が、自動的に変更された数式(1行ずつ行番号がずれた数式)になっています。

 

結果として、「オートフィル機能」ではできなかった「参照するシート名」の変更<図15参照>が可能になっています。

 

ここでは、同じ列内でコピーしたので行番号が自動的に変更されましたが、同じ行内でコピーすると列番号が自動的に変更されることが予想されます。

 

参照シートとクラス名を修正する

数式バーの中の「B5」セル~「B7」セルの参照シートをすべて「B3」セルにし、検索条件を「4の1」から、各クラスの名前に変える。

 

以下、「4の3」の修正を例示する。

 

「B6」セルの数式バーの中で、

参照シート B5 をドラッグして反転表示(そのまま入力できる)状態で、「B3」セルをクリックする。<図21の1>
<図21の1>

 

"4の1"の1をドラッグして反転表示(そのまま入力できる)状態で、全角で3と入力する。<図21の2>
<図21の2>

 

 入力を確定した後、[Enter]キーで数式を確定する。その後、再び「B6」セルをクリックして数式バーを見る。<図21の3>
<図21の3>

 

もちろん、数式バーに直接入力して修正してもかまいません。

 

修正後の数式を確認する

「B5」セルから「B7」セルの数式の修正がすべて終わった後、数式を確認する場合は、[数式の表示]ボタンをクリックし、修正後の数式をセル内に表示させます。<図22>
<図22>

 

4クラスのセルを一度にコピーする

コピー元を選択

「B4」セルから「B7」セルをドラッグして選択し、この4つのセルをコピー元にする。<図23>
<図23>

 

「L列」までコピーする

「オートフィル機能」を使って、4つのセルを「L列」までコピーする。<図24>
<図24>

 

「B4」セルを「L4」セルへ、「B5」セルを「L5」セルへ、「B6」セルを「L6」セルへ、「B7」セルを「L7」セルへ、1行ずつ「オートフィル機能」を使ってコピーしても同じ結果になります。

 

コピー後の数式の確認

「オートフィル機能」を使ってコピーした後の数式を[数式の表示]ボタンをクリックし、セル内に表示させて確認します。<図25>
<図25>

 

シート見出しを表す B3 相対参照なので、コピー後の参照先のセル範囲(シート名)が、自動的に変更された数式(1列ずつ列番号がずれた数式)になっています。

 

また、各シートのセル範囲は変わっていません。

 

INDIRECT 関数を使ったシート・セル参照の便利さがわかります。

 

今回は、表計算ソフト「エクセル」(Excel)で作った簡単な学習計画を例に、「COUNTIF 関数や SUM 関数を使って作成した集計シート」を紹介しました。

 

また、この記事では、「INDIRECT 関数を使ったシート・セル参照」も紹介しています。同僚のまねをするところから始めたので、うまく説明できていない部分があったり、関数の使い方が非効率的な部分もあるかと思いますが、少しでも参考になれば幸いです。

 

次回は、「SUM 関数を使って、今回紹介した集計シートを各シートに反映させる方法」を紹介します。

簡単な学習計画を例にした「エクセル」(Excel)の操作方法については、次回で終わります。