最速怪談選手権

条件によりセルの色を変えるのではなく、予め塗られたセルの色により数式の値を変える方法
はありますか。
<例>
就業日により時間給が異なる勤務表があります。
平日はセルの塗りつぶしなし・土曜日はセルの色:黄色・日曜日はセルの色:赤色にしておきます。
セルの色を自動で判断し、セルの色が黄色の場合は平日の1.25倍にしたい。
セルの色を検出できる関数はありますか

A 回答 (4件)

>セルの色を検出できる関数はありますか


無いようです。
条件付き書式で日付から土日に色を付ける場合次のような数式を使います。
A列が日付でB列が曜日とします。
=TEXT(A2,"aaa")="土" → 黄色
=TEXT(A2,"aaa")="日" → 赤
このような着色では条件が定義されていますので、その条件を使えば日付から倍率を割り出せます。
=IF(OR(TEXT(A2,"aaa")="土",TEXT(A2,"aaa")="日"),1.25,1)
「セルの色により数式の係数を変えるには?」の回答画像3
    • good
    • 0
この回答へのお礼

ありがとうございました。
条件付き書式は良く使っています。なるほど応用力のちがいですね!
良い勉強になりました。

お礼日時:2014/11/17 18:54

こんばんは



VBAになりますが、単純な所ではセルの色は以下により取得できます。
l = Range("A1").Interior.Color

あとは取得した値に基づきIf文なり、case文を使って処理を振り分ければいいです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
A1のセルを黄色に塗りつぶし、Range("A3") = Range("A1").Interior.Color
を実行しました所、黄色のセルのカラーコードは、65535と出ました。

お礼日時:2014/11/17 22:58

> セルの色を検出できる関数はありますか


ありません。後 Excelのバージョンが不明では話にならない。

古いバージョンなら Get.Cell関数を名前定義で仕込めばなんとか
なりますが 2007以降との互換性がないので不可。そもそもマクロ
扱いになるから 数式にする意味がありません。

書式で何かを判断させるという考え方自体がナンセンスです。

土曜日か日曜日かは日付で判断できるんだから それで判断すれば
いい話です。
    • good
    • 0

そのセルの色ってどうやって決まっているんですか?


誰かが適当にセル毎に色を設定するんですか?
だとしたらカスタムで出鱈目な色を設定されたら
どうするんですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!