この記事では、「エクセルにて色で合計(色別に合計)する方法【色付きセルの足し算:青字や黄色のセルの合計など:関数は?】」について説明します。
実現する方法としては、
・GET.CELL関数を使用する
・SUBTOTAL関数を使用する
の2種類があります。
それでは以下でエクセルでの色ごとの足し算の詳細を見ていきましょう。
エクセルにて色付き文字の合計する方法【文字に色が付いている場合:関数:青字のみの合計など】
B列のフォントの色を数値を取得する
まずは赤文字のセルのみを計算する方法を説明します。赤文字を抽出するにはフォントカラーを数値で取得する必要があります。
そのために使う関数はGET.CELLになります。
下図のように、フォントの色番号を記入できるセルを準備します。
なお、表はテーブルとして作成しておくと便利です。
作成方法は、テーブルとしたい範囲を選択し、上部メニューの挿入から「テーブル」を選択すると、テーブルが作成されます。
GET.CELLのやり方としては、以下の通りです。
- フォントの色番号を入力したいセル(今回の場合はC3)を選択します。
- 上部メニューの数式タブから「名前の定義」を選択します。
「名前の定義」というボックスが開いたら、「名前(N)」(この後でこの文字列を使いますので、わかりやすいものにします)を変更し、さらに「参照範囲(R)」に「=GET.CELL(24,B3)」と入力します。ここでCELL関数はセルの状態を表す関数で、「GET.CELL(番号,範囲)」となります。
番号は様々なパターンを取得できますが、今回はフォントの色を取得したいので、「24」を指定しています。範囲はどこの色を取得したいか、なので今回はB列(B3)を指定します。 - 定義が終わったら、色番号を表示したいセル(今回の場合はC3)を選択し、「=color」と入力します。テーブル化していると、C列が全て埋まります。
これで、赤の文字の部分が「3」となっていることが確認できます。他のセルは「1」となっているのがわかると思います。ですので、赤以外でも抽出することがわかりますね。
赤字の値を抽出する
フォントごとに分類ができたので、次は赤文字の部分だけ数値を抽出します。
テーブルを拡張し、D列に赤文字のみを抽出します。
D列の一番上、D3に「=IF(C3=3,B3,””)」と入力します。
このIF分の意味ですが、
「IF(論理式,正の場合,誤の場合)」
となっています。
今回に照らし合わせると、
・論理式:フォントの色番号のセルが赤に相当する「3」の場合なので、「C3=3」
・正の場合:式があっている場合(赤文字の場合)にデータを表示なので、「B3」
・語の場合:赤文字以外の数字が入っている場合、何も表示しないので、「“”」
となります。
式の入力を終えると、D列に式が入り、赤文字の行だけ数値が出るようになりました。
この状態でD列の合計を求めればいいので、D列一番下(今回の場合はD14)に「=SUM(D3:D13)」と入力します。
これで合計が最下行に表示されました。
エクセルにて色付きセルの合計する方法【背景色に色が付いている場合:関数】
ここまで文字に色がついている場合を説明しましたが、セルの色がついている場合でも同じように出すことができます。
やり方はほとんど変わりません。
名前の定義を変更しています。どこが違うでしょうか。「名前」の部分と「参照範囲の中で」前回24としていた数値が38に変わっています。
後の手順は変わりません。
・フォントの色番号のセル(今回の場合はC3)に「=cellcolor」と入力
・黄色セルのみ抽出したい(今回の場合はD3)に「=IF(C3=6,B3,””)」と入力
・合計欄(今回の場合はD14)を作り、「=SUM(D3:D13)」と入力
これで黄色に塗られたセルのみが抽出できました。
エクセルにて色付きセルの合計する方法【文字に色が付いている場合:関数】:簡易版
ここまでGET.CELL関数を使って実現しましたが、テーブルにしている場合はフィルタを使って簡易的に同じことを実現できます。
まず、データ一覧の一番下(今回の場合はB14)に「SUBTOTAL(9,B3:B13)」と入力します。
続いて、データ(B2)の右下にある「▼」をクリックし、「色フィルター」から「フォントの色でフィルター」の赤を選択します。
これで赤文字だけのセルになり、合計も先ほどと同じ値が出ていることがわかります。
このフィルターは文字色だけでなく、セルの色でも使えます。セルの色の場合は「フォントの色でフィルター」ではなく、「セルの色でフィルター」を使ってください。やり方は全く同じです。
エクセルにて色付きセルの合計する方法【データの法則性を使用する】
実際に今回のような表を作るときは、色を付けるセルには何らかの法則性があることも多いです。
たとえば、上の図のように赤字がついているものは全て100未満だ、という場合です。
この場合は色ではなくその法則を利用することも可能です。
表を一列追加し、赤字のみ(実際は100未満の数値)を抽出します。
抽出したいセル(今回の場合はC3)に「=IF(B3<100,B3,””)」と入力します。
これでC列には100未満の数値のみが表示されました。
後は先ほどまでと同じように、合計欄を作って「=SUM(D3:D13)」と入力すると、合計が表示されるようになります。
まとめ エクセルにて色で合計(色別に合計)する方法
今回は色付きセルの合計、色付き文字の合計を集計する方法について、GET.CELL関数を用いた場合とフィルターを使用する場合の2種類について説明しました。
GET.CELL関数を使う場合、マクロを使用していますのでファイルの保存時にいつもの「.xlsx」ではなく、「.xlsm」となりますのでご注意ください。ただし、マクロと言っても難しいものではありませんので、恐れることなく使用してくださいね。