質問です。
Excelの条件付き書式を使うときに
例えば、C列のプルダウンから名前を選択時にB列を指定の色で塗りつぶしたい場合、どのように設定すべきでしょうか?
また、B列で塗りつぶしたところは、あとでその行全てを他の色で塗りつぶしたい場合に、その条件付書式が入ってるところも上書きして塗りつぶす事を可能に設定する事は可能でしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
色の判定はマクロでないとできないので、次のような感じにするとよいかと思います。
標準モジュールに以下の関数を追加。
VBA
1' セルが任意の色で塗りつぶされていればTRUE、デフォルトのままならFALSEを返す 2Function IsBackColor(c As Range) 3 IsBackColor = c.Interior.ColorIndex <> xlColorIndexNone 4End Function
B1の条件付き書式の条件を次のように設定
=AND(ISBLANK(C1)=FALSE,IsBackColor(B1)=FALSE)
投稿2018/05/11 01:49
総合スコア17000
0
C列のプルダウンから名前を選択時にB列を指定の色で塗りつぶしたい場合、どのように設定すべきでしょうか?
C列が空白でないという条件ではどうでしょうか。
=(ISBLANK(C列)=False)
B列で塗りつぶしたところは、あとでその行全てを他の色で塗りつぶしたい場合に、その条件付書式が入ってるところも上書きして塗りつぶす事を可能に設定する事は可能でしょうか?
塗りつぶしても、条件付き書式の方が優先されるので駄目でしょう。
投稿2018/05/10 15:04
総合スコア25430
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
ベストアンサー
Googleスプレッドシートで試してみました。
結論から言いますと、できませんでした。
Rangeオブジェクトから色を取得する関数はあるのですが、条件付き書式で色を変えると、その色を取得してしまうので、任意に設定した色と区別がつかないのです。
もしかしたら別々に取得できるのかもしれませんが、今のところ時間がなくそこまで調べ切れておりません。
とりあえず試してみた方法を掲載しておきますので、参考にしてください。
スクリプトエディタに下記の関数を追加
js
1function IsBackColor(c) { 2 return (SpreadsheetApp.getActiveSheet().getRange(c).getBackground() != '#ffffff'); 3}
B1セルの条件付き書式(カスタム数式)
=AND(ISBLANK(C1)=FALSE, IsBackColor("B1")=FALSE)
やっていることはExcel版で回答したやつを、Googleスプレッドシートに移植しただけです。
ひとつ違うのは関数にB1
と渡すとセルのオブジェクトではなく、値そのものが渡ってしまうので参照方法を変更しています。
これももしかしたらオブジェクトそのものを渡せるかもしれませんが、久しぶりに触ったので思い出せませんでした。
すみません。
以上、参考まで。
投稿2018/05/12 09:03
総合スコア17000
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/11 02:02
2018/05/11 02:04
2018/05/11 02:05
2018/05/11 06:15
2018/05/11 06:17
2018/05/11 06:38
2018/05/11 07:00
2018/05/11 07:01
2018/05/11 07:04
2018/05/11 07:08 編集
2018/05/11 07:08
2018/05/11 07:13
2018/05/11 07:24
2018/05/11 07:29
2018/05/11 07:29
2018/05/11 07:30
2018/05/11 07:30
2018/05/11 09:16
2018/05/11 09:22
2018/05/11 09:26