
色は、ほとんどすべてのシートにおいて優れた視覚ツールです。そのため、Excelの組み込み機能の多くには色が含まれています。しかし、視覚的な解釈を即座に行えるだけでなく、より実用的な機能も必要になる場合があります。例えば、同じ色を持つ値の合計を求めたい場合や、色ごとに個数を数えたい場合などです。この記事では、Excelの組み込みフィルター機能を使って、セルの塗りつぶし色で値を評価する簡単な方法を紹介します。
Windows 10 64ビット版でExcel 2016(デスクトップ版)を使用していますが、フィルタリング機能は以前のバージョンでも利用可能です。ご自身のデータで作業するか、デモ用の.xlsxファイルをダウンロードしてください。ブラウザ版では色によるフィルタリングはサポートされていません。
塗りつぶし色を適用する
データ セットにいくつかの色を手動で適用することもできますが、この例では基本的なデータ セットを使用して、組み込みの条件付き書式設定セットを使用しましょう。
- B2:B18 を選択します。これらが評価する値です。
- [条件付き書式] ドロップダウン ([ホーム] タブの [スタイル] グループ内) から [カラー スケール] を選択し、最初のオプション (図 A ) を選択します。
これで完了です!数回クリックするだけで、データセットに複数の色を追加できました。そのため、手動で色を適用するのではなく、組み込みのフォーマットを選択しました。
図A
条件付きスケール セットは、列 B の請求書の値に異なる色を適用します。
テーブルオブジェクトを作成する
データセットには複数の色が設定されていますが、このままでは請求書の金額を数えたり合計したりするのはあまり役に立ちません。ご存知ないかもしれませんが、テーブルを色で並べ替える機能が組み込まれています。そのため、データ範囲をテーブルに変換します。変換するには、データ内の任意の場所をクリックします。次に、「挿入」タブをクリックし、「テーブル」グループの「テーブル」をクリックします。表示されるダイアログで、「テーブルに見出しを付ける」オプションにチェックを入れ、「OK」をクリックします。これでテーブルが作成され、請求書の金額に条件付き書式が設定されました。
参照: Windows のセキュリティ保護ポリシー (Tech Pro Research)
合計行を追加
現状でも色でフィルター処理できますが、今度は色フィルターを適用した後に表示される値を評価する方法が必要です。そのために、表の下部に合計行を追加しましょう。そのためには、図Bに示すように、「デザイン」タブの「テーブルスタイルオプション」グループで「合計行」をオンにします。デフォルトでは、この行は「請求日」フィールドにSUBTOTAL()関数を追加します。C19の関数を削除します。次に、B19を選択し、「ホーム」タブの「編集」グループで「オートSUM」をクリックして、その列を評価する関数を入力します。必要に応じて、同じセルに通貨形式を適用します。
図B
テーブル オブジェクトの合計行を有効にします。
図Cに結果が表示されています。請求金額列の合計は8,913ドルです。オートSUMは、SUM()関数ではなくSUBTOTAL()関数が必要であることを認識するほど賢いです。
図C
AutoSum は SUBTOTAL() 関数を追加します。
SUM() と SUBTOTAL() の違いについて疑問に思われるかもしれません。SUM() 関数は、フィルタリングに関係なく、請求額内のすべての値を計算します。SUBTOTAL() は、すべての値を計算することも、表示されている値のみを計算することもできます。これはすぐに理解できるでしょう。
参照: Microsoft Office 認定トレーニング バンドル (TechRepublic Academy)
フィルタリングを開始
これで、色でフィルタリングして合計行がどのように変化するかを確認する準備ができました。簡単なフィルタを適用するには、「請求額」列の「フィルタ」ドロップダウンをクリックします。次に、「色でフィルタリング」を選択し、黄色を選択します(図D)。このサブメニューには一部の色のみが表示されています。残りの色を確認するには、「その他のセルの色」を選択してください。
図D
カラーフィルターを選択します。
図Eは、結果として得られるフィルターを示しています。合計行のSUBTOTAL()関数は、表示されているレコードのみを評価します。SUM()関数は引き続きすべてのレコードを評価しますが、SUBTOTAL()関数はフィルター処理後の表示されている値のみを評価します。
図E
SUBTOTAL() 関数は、表示されているレコードの合計のみを返します。
データセットを変更すると、組み込みのカラースケール条件付き書式が更新されます。フィルターの色も自動的に更新されるため、追加の作業は必要ありません。すべてがスムーズに機能します。
色付きセルの数を数えたい場合は、SUBTOTAL()関数の引数109を102に変更してください。表Aにこの引数のオプションを示します。
表A
隠れた価値を評価する | 非表示の値を無視する | 関数 |
1 | 101 | 平均() |
2 | 102 | カウント() |
3 | 103 | COUNTA() |
4 | 104 | 最大() |
5 | 105 | 最小値() |
6 | 106 | 製品() |
7 | 107 | 標準偏差() |
8 | 108 | STDEVP() |
9 | 109 | 和() |
10 | 110 | 変数() |
11 | 111 | VARP() |
Tableオブジェクトをサポートしていないメニューバージョンを使用している場合は、対応する列の数行下に適切なSUBTOTAL()関数を入力し、通常どおりにフィルタリングできます。レコードを追加したり削除したりする場合、合計行を自分で調整する必要があるため、管理が面倒です。一方、Tableオブジェクトはそれを自動的に行ってくれます。
次回
このシンプルな色によるフィルタリングソリューションは非常に効果的ですが、必ずしも十分とは限りません。VBAユーザー定義関数を使用して、異なる状況で同じことを実現する方法についての記事をお楽しみに。
Officeに関するご質問をお送りください
読者からの質問には可能な限りお答えしますが、必ずお答えできるとは限りません。リクエストがない限り、ファイルは送信しないでください。添付ファイル付きの初回サポートリクエストは未読のまま削除されます。ご質問を明確にするために、データのスクリーンショットを送信していただくことも可能です。お問い合わせの際は、できるだけ具体的にご記入ください。例えば、「ワークブックのトラブルシューティングを行い、問題点を修正してください」という質問では返答がないかもしれませんが、「この数式が期待どおりの結果にならない理由を教えていただけますか?」という質問であれば、回答が得られる可能性があります。ご使用のアプリとバージョンを明記してください。読者サポートにあたり、TechRepublicから時間や専門知識の報酬を受け取ることはありません。また、サポートした読者から料金を請求することもありません。お問い合わせは[email protected]までお願いいたします。