質問: 質問です。 Excelの条件付き書式を使うときに 例えば、C列のプルダウンから名前を選択時にB列を指定の色で塗りつぶしたい場合、どのように設定すべきでしょうか? また、B列で塗りつぶしたところは、あとでその行全てを他の色で塗りつぶしたい場合に、その条件付書式が入ってるところも上書きして塗りつぶす事を可能に設定する事は可能でしょうか?
回答: Googleスプレッドシートで試してみました。 結論から言いますと、できませんでした。 Rangeオブジェクトから色を取得する関数はあるのですが、条件付き書式で色を変えると、その色を取得してしまうので、任意に設定した色と区別がつかないのです。 もしかしたら別々に取得できるのかもしれませんが、今のところ時間がなくそこまで調べ切れておりません。 とりあえず試してみた方法を掲載しておきますので、参考にしてください。 スクリプトエディタに下記の関数を追加 ``` function IsBackColor(c) { return (SpreadsheetApp.getActiveSheet().getRange(c).getBackground() != '#ffffff'); } ``` B1セルの条件付き書式(カスタム数式) ``` =AND(ISBLANK(C1)=FALSE, IsBackColor("B1")=FALSE) ``` やっていることはExcel版で回答したやつを、Googleスプレッドシートに移植しただけです。 ひとつ違うのは関数に`B1`と渡すとセルのオブジェクトではなく、値そのものが渡ってしまうので参照方法を変更しています。 これももしかしたらオブジェクトそのものを渡せるかもしれませんが、久しぶりに触ったので思い出せませんでした。 すみません。 以上、参考まで。