目次
このチュートリアルでは、Google SheetsのFunction by Colorアドオンから2つの新しい関数、CELLCOLOR & VALUESBYCOLORALLを紹介します。 これらを使って、セルの色だけでなく共通の内容で合計したり数えたりします。 すぐに使えるSUMIFS & COUNTIFSの公式も含まれています;)。
Google Sheetsで色付きのセルをよく使う方は、Function by Colorアドオンを試したことがあるかもしれません。 このアドオンには、色付きのセルを使った操作をさらに拡張する2つの関数が追加されていることをご存知でしょうか。 セルカラー と 色別の値一覧 このチュートリアルでは、この2つの関数を紹介し、すぐに使える公式をいくつか紹介します。
色別機能で色のついたセルを合計・カウント
2つの新しいカスタム関数を紹介する前に、Function by Colorアドオンについて簡単に説明します。
選択したセルのフォントや塗りつぶしの色をチェックするGoogle Sheets用のアドオンです。
- かずかず
- 色付きセルと空白を数える
- ハイライトされたセルの平均値/最小値/最大値を求めます。
- 等々
カラーセルを計算するための機能は全部で13種類。
その仕組みはこうだ。
- 処理する範囲を選択します。
- フォントや塗りつぶしの色味を選び、用途に応じた機能を選びます。
- 各行/列のレコードを計算するか、範囲全体を計算するかを選択します。
- 結果を表示したいセルを選択します。
- ヒット インサート機能 .
例えば、ここでは各行で「進行中」の項目をすべて合計し、背景を青くしています。
=SUM(VALUESBYCOLOR("light cornflower blue 3", "", B2:E2))
アドオンの詳しいチュートリアルはこちら、サンプルはこちらのブログ記事をご覧ください。
ご覧の通り、このアドオンでは標準のSUM関数に加え、VALUESBYCOLORという特殊な関数を内部で使用しています。
VALUESBYCOLOR関数
VALUESBYCOLORは弊社独自の関数です。
注)アドオンを使用しない場合は、スプレッドシートに表示されません。
アドオンで選択した色に対応するセルを返します。
=VALUESBYCOLOR("light cornflower blue 3", "", B2:E2)
ほら、上から供給された各項目について、私の設定に従って色付けされたレコードだけが取得されます。 そして、これらの数値は、ツールで選択した標準関数の1つであるSUMによって計算されています。
かなりイケてますね(^^)
ただ、この数式はSUMIFSやCOUNTIFSでは使えないので、共通の色相やセルの内容など、複数の条件で同時にカウントすることはできませんでした。 そして、よく聞かれるのが、この件です
最新のアップデート(2021年10月)で可能になったことをお伝えします!今、Function by Colorには、それを助けてくれる2つのカスタム関数が追加されています :)
色別機能」の追加機能
VALUESBYCOLORALLとCELLCOLORという2つの新しい関数を実装しました。 これらの関数が必要とする引数と、あなたのデータでそれらをどのように使用できるかを見てみましょう。
注)カスタム関数のため、Function by Colorアドオンが必要です。 アドオンをインストールしないと、関数を使用できず、関数の返す結果も失われます。
ヒント:このビデオを見るか、このまま読み続けるか、あるいは両方を行うとより理解が深まります ;) ブログ記事の最後には練習用のスプレッドシートも用意されています ;)
色別の値一覧
このカスタム関数は3つの引数を必要とします。
VALUESBYCOLORALL(fill_color, font_color, range)- フィルカラー - 背景色のRGBコードまたは色名(Google Sheetsのカラーパレットに準拠)。
ヒント:引数は必須ですが、二重引用符で囲むだけで、塗りつぶしの色を無視することができます:""
- フォントカラー - 文字色のRGBコードまたは色名(Google Sheetsのカラーパレットによる)。
ヒント:引数も必須ですが、文字色を無視する必要がある場合は、二重引用符 "" を一組取ります。
- レンジ - ここでは何も凝ったことはせず、処理したいセルの範囲を指定するだけです。
VALUESBYCOLORALLは、アドオンが使用するVALUESBYCOLOR関数と間違えやすいことにお気づきですか? 大きな違いがあるので注意が必要です。 このスクリーンショットを見てみてください。
数式はB2、C2で書かれていますが、B8、C8でどのように見えるかを見ることができます。
=VALUESBYCOLOR("light green 3", "", A2:A7)
と
=VALUESBYCOLORALL("ライトグリーン3", "", A2:A7)
ヒント:色の名前はGoogle Sheetsのパレットから引用しています。
この2つの関数は、引数が同じで、名前まで似ているんです
しかし、両者は異なるデータセットを返します。
- VALUESBYCOLORは、A列に緑色の塗りつぶし色が表示されているレコードのみのリストを返します。この式の結果は、B2:B4という3つのセルだけを必要とします。
- VALUESBYCOLORALLは、元の範囲と同じサイズ(6セル)のC2:C7を返す。 しかし、この範囲のセルには、A列の対応するセルが必要な塗りつぶし色を持っている場合のみレコードが入っている。 その他のセルは空のままである。
また、COUNTIFSやSUMIFSなどの関数でセルの中身と一緒に色を確認できるのもこのためです。
セルカラー
次の関数はとても簡単で、セルの色をチェックし、各セルで使われている色名またはRGBコード(お好みで)のリストを返します。 呼び方も同じです:CELLCOLOR。
これらの色名は直接必要ないかもしれませんが、他の機能で条件として使用することができます。
この関数も3つの引数を必要とする。
CELLCOLOR(range, color_source, color_name)- レンジ - のように、色を確認したいセルを選択します。
- カラーソース - は、この関数がどこを見るかを指示します。
- 言葉を使う 「フィル を二重引用符で囲むと、背景色のチェックができます。
- 「フォント - 文字色用
- 両方 - 塗りつぶし色と文字色の両方について
- 色名 - どのような名前を返せばいいのか、あなた流に教えてください。
- 真 は、Google Sheets のパレットに表示される名前と同じものを取得します。 赤 または ダークブルー1
- FALSE は、色のRGBコードを取得します。 #びゃくまん または #3d85c6
例えば、以下の数式は、A2:A7の各セルで使用されている塗りつぶしの色とフォントの色の一覧を返します。
=CELLCOLOR(A2:A7, "both", TRUE)
では、これらの関数はIF、SUMIFS、COUNTIFSでどのように使用できるのでしょうか? 色に基づく検索条件はどのように設定するのでしょうか?
色と内容でセルを合計・カウントする - 計算式例
VALUESBYCOLORALLとCELCOLORを簡単なケースで使ってみよう。
IFカラーなら
ここでは、3つのテストに合格した生徒の短いリストを持っています。
ある行のすべてのセルが緑色(すべての試験に合格した学生)である場合にのみ、E列にPASSとマークしたいのです。 IF関数でCELLCOLORを使って色をチェックし、必要な文字列を返すことにしましょう。
=IF(COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3, "PASS","")
その内容は以下の通りです。
- CELLCOLOR(B2:D2, "fill",TRUE)を指定します。 は、行内で使用されているすべての塗りつぶし色を返します。
- COUNTIF(CELLCOLOR(B2:D2, "fill",TRUE), "light green 3")=3 はこれらの色を受け取り、'light green 3' (私のセルで使っている) がちょうど3回連続して現れるかどうかをチェックします。
- もしそうなら、IFは'PASS'を返し、そうでなければ、セルは空のままである。
COUNTIFS:色で数える & 1式で表す値
COUNTIFSもまた、最終的に複数の基準でカウントすることができる関数であり、そのうちの1つが色であったとしても、それは可能である。
シフトごとの利益と従業員ごとの利益の記録があるとします。
COUNTIFSの中にある2つのカスタム関数を使って、各従業員が販売計画を実行した回数(緑のセル)を数えることができます。
例1.COUNTIFS + CELLCOLOR
データのあるテーブルの横にすべてのマネージャーをリストアップし、従業員ごとに個別の数式を入力することにします。 まずはCELLCOLORから始めます。
=COUNTIFS($A$2:$A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "ライトグリーン3")
- この式が最初にチェックするのはA列です。もし「Leela」(E2の名前)があれば、そのレコードが考慮されます。
- 次に確認したいのは、C列のセルが薄緑色3になっているかどうかです。
ヒント:Google Sheetsのパレットでセルの色を確認する。
COUNTIFS自体は色だけを拾うことはできないので、コンディションの範囲として当社のCELLCOLORを使用しています。
CELLCOLORは、各セルで使われている色のリストを返すので、COUNTIFSに組み込むと、COUNTIFSがそのリストをスキャンして、「light green 3」の出現箇所をすべて探します。 これをE列の名前と組み合わせると、必要な結果が得られます。 簡単ですね:)。
例2.COUNTIFS + VALUESBYCOLORALL
代わりにVALUESBYCOLORALLを選択した場合も同様です。 2つ目の条件の範囲として入力します。
=COUNTIFS($A$2:$A$10,E2,VALUESBYCOLORALL("light green 3","",$C$2:C$10),"")
VALUESBYCOLORALLが何を返すか覚えていますか? 色の条件を満たすすべてのセルにレコードが含まれる値のリストです。 他のセルは空のままです。
したがって、VALUESBYCOLORALLをCOUNTIFSに置くと、数式は空ではないセル: ""(または言い換えれば、必要な色に対応する)だけをカウントすることになります。
SUMIFS:1つの数式でセルを色とタンポポの値で合計する
SUMIFSの話は、COUNTIFSの話と同じです。
- CELLCOLORまたはVALUESBYCOLORALLというカスタム関数のいずれかを使用します。
- 色のテストをすべき範囲として置く。
- CELLCOLORは色の名前、VALUESBYCOLORALLは「空ではない」("")というように、選択した機能によって条件を入力します。
SUMIFSは、最初の引数として単純な範囲以外のものは受け取りません。 sum_range そのため、CELLCOLORとVALUESBYCOLORALLは必ず 基準 ではなく
その例をいくつかご紹介します。
例1.SUMIFS+CELLCOLOR
この数式を見てください。
=SUMIFS($C$2:$C$10,A$2:A$10,E2,CELLCOLOR($C$2:$C$10, "fill",TRUE), "ライトグリーン3")
- CELLCOLORはC2:C10のすべての塗りつぶし色を取得し、SUMIFSはそれらのいずれかが「ライトグリーン3」であるかどうかをチェックします。
- また、SUMIFSはA2:A10をスキャンしてE2~の名前を探します。 リーラ .
- 両方の条件を満たすと、C2:C10 の金額が加算される。
例2.SUMIFS + VALUESBYCOLORALL
VALUESBYCOLORALLも同様です。
=SUMIFS($C$2:$C$10,$A$2:$A$10,E2,VALUESBYOLORALL("light green 3","",$C$2:$C$10),"")
- VALUESBYCOLORALLは、必要な塗りつぶし色のセルだけが値を含む範囲を返します。 SUMIFSは、空でないすべてのセルを考慮します。
- また、SUMIFSはE2からA2:A10をスキャンし、'Leela'を検索する。
- 両方の条件が満たされると、C2:C10 から対応する金額が集計されます。
このチュートリアルで、関数がどのように機能するのか、また、どのような使い方が可能なのかがわかれば幸いです。 もし、まだ適用に問題があるようでしたら、コメント欄で私にご相談ください;)
表計算ソフトで練習する
色別機能-カスタム機能-例(スプレッドシートをコピーしてください。)