「How to easily sum values by a cell's background color in Excel」(Excelでセルの背景色別に値を合計する簡単な方法)という記事では、標準搭載の機能を簡単に組み合わせて、塗りつぶしの色を基にセルの個数を数える方法や、値を合計する方法を紹介した。このテクニックを使うのに特別な知識は必要ないが、制限がある。行内の個々のセルを評価することはできない。フィルタリングは列だけに使用できる機能だからだ。また、Excelには、塗りつぶしの色によってセルを直接評価する機能や関数はない。本記事で紹介するのは、それを可能にする方法だ。分かりやすい解決策ではなく、多少は内部的な仕組みに明るい人でなければ、自力で考え出すのは難しいだろう。ここで重要なのは、レコードではなくセルを数えるという点だ。
筆者は64ビット版「Windows 10」システムで「Microsoft 365」を使用しているが、古いバージョンを使っても構わない。作業用のデータは自分で用意してもいいし、デモ用の.xlsxファイルをダウンロードしてもいい(メニューバージョンの形式も用意したが、正常に機能しない可能性がある)。この解決策は、ブラウザー版には適していない。また、塗りつぶしの色は直接適用するかスタイルによって適用する必要があり、条件付き書式と連携させることはできない。そんな魔法のようなことを実現するには、Stephen Hawking氏並みの神がかった技術が必要だ。
この記事を執筆するきっかけとなったのは、Vic Micallefさんから寄せられた質問だった。
データと問題
データベースを扱っている人は、物事をフィールドや列で考える。行が重要なのは、リレーショナルデータベースのテーブルを正規化するときだ。その後でレポートを作成するときは、(ほとんどの場合)列を分析する。シートは少し事情が異なり、1つの行に含まれる複数の列の値を評価することが必要になる場合もある。Excelはこのような状況の大部分を問題なく処理できるが、行内のセルを塗りつぶし色に基づいて簡単に評価する標準搭載機能は、残念ながら(筆者の知る限り)存在しない。先に言っておくが、データの再構築によって問題を解決できるとは限らない。
残り本文:約2867文字 ログインして続きを読んでください。