• ベストアンサー

セルの色により数式の係数を変えるには?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>セルの色を検出できる関数はありますか 無いようです。 条件付き書式で日付から土日に色を付ける場合次のような数式を使います。 A列が日付でB列が曜日とします。 =TEXT(A2,"aaa")="土" → 黄色 =TEXT(A2,"aaa")="日" → 赤 このような着色では条件が定義されていますので、その条件を使えば日付から倍率を割り出せます。 =IF(OR(TEXT(A2,"aaa")="土",TEXT(A2,"aaa")="日"),1.25,1)

uechan1946
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • nonamochi
  • ベストアンサー率62% (228/365)
回答No.4

こんばんは VBAになりますが、単純な所ではセルの色は以下により取得できます。 l = Range("A1").Interior.Color あとは取得した値に基づきIf文なり、case文を使って処理を振り分ければいいです。

uechan1946
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。
  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.2

> セルの色を検出できる関数はありますか ありません。後 Excelのバージョンが不明では話にならない。 古いバージョンなら Get.Cell関数を名前定義で仕込めばなんとか なりますが 2007以降との互換性がないので不可。そもそもマクロ 扱いになるから 数式にする意味がありません。 書式で何かを判断させるという考え方自体がナンセンスです。 土曜日か日曜日かは日付で判断できるんだから それで判断すれば いい話です。

全文を見る
すると、全ての回答が全文表示されます。
  • nerimaok
  • ベストアンサー率34% (1125/3220)
回答No.1

そのセルの色ってどうやって決まっているんですか? 誰かが適当にセル毎に色を設定するんですか? だとしたらカスタムで出鱈目な色を設定されたら どうするんですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル 特定の単語が入力されたときにセルの色を変える

    エクセル 特定の単語が入力されたときにセルの色を変える A1に日付を入力すると、A2に自動的に曜日が入る数式を入れています。 カレンダーのように1ヶ月分がまとめて表示されているわけではなく、入力が必要な日だけ日付を入れるような表になるのですが、土曜や日曜の場合、曜日のセルの色を変える方法を教えていただけますでしょうか。 条件付書式でやってみたのですが、曜日のセルに数式を入れて自動的に表示させている場合、うまくできませんでした。(直接、土曜や日曜と入力するときちんと色が変わったのですが)

  • エクセルの数式で条件に合ったセルに値を代入したい

    教えてください。エクセル2007を使用しています。 以下のような表にて、黄色い部分をセルに数式を使用することで自動的に埋めたいと思っています。 たとえば3列目、開始日1日から3日間、該当セル(黄色の部分)にフラグを立てるといった具合です。 列は31日まで、行は50行程続くので、黄色のセルに数式を入力することで、一気にフラグを立てたいと思っています。 何か方法があるでしょうか? よろしくお願いいたします。

  • エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り

    エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り分けしたいのですが、7種類あるため条件付書式では対応出来ず困っています。 具体的には「2.7000~2.7099」ならピンク、「2.7100~2.7199」なら黄色、「2.7200~2.7299」なら黄色「2.7300~2.7399」なら緑色「2.7400~2.7499」なら青色「2.7500~2.7599」なら紫「2.7600~2.7699」なら灰色 という具合です 漠然としていて申し訳ないのですが、マクロを使用したいと思っています。お力を貸していただけないでしょうか?

  • Excel で「日曜日」の色を赤色にしたい!

     単純なことですが、どうもうまく行きません。  Excel2000(ちょっと古め)を使っています。  入力した年月日を入れると曜日を表示させて、日曜日の色を「赤色」にしたいのですが、どーもうまくいきません。  フォーマット(書式)を (aaa) とすると日曜日だと「(日)」とセルに表示させることができたので、 [書式]→[条件付き書式の設定]で、 条件1(1) で、 「セルの値が」、「次の値に等しい」「="日"」として 書式で「セルの書式設定」でのフォントの色を「赤色」にしましたが、 うまく反映されません。  なにか間違っているのでしょうか?  単純なことなのにできなくて、はがゆいです。  この方法には、こだわっていませんので良い方法があればお知らせください。  よろしくお願い致します。  

  • Excel2010 セル色の変更について

    エクセルの条件付き書式で表の色付けをしていますが 参照先のセルをデリートした時に書式の色が消えなくて困っています 表の構成としては項目(B・C列)は2行で 本日の日付をC3セルに「 =today() 」で表示させ 6行目にあるA・B・C・Dのアルファベットは その項目に対してしなければいけない予定の事象を書き 各項目のD・E・F・G列には 項目内上列に予定事象の期限を自動入力(関数入力済)し 項目内下列は事象実施日を手動で入力するようにしてあります 事象予定日の日付がC3セルと同じ日(当日)になれば事象予定日のセルを赤塗 C3セルの前日であれば黄塗、3日前であれば緑塗で事象予定日のセルが表示され 事象実施日がC3の日付より1日以上前であれば事象実施日を灰塗で表示させています ここまでが現状で、ここからがうまくいきません やりたい事としては 実施日が入力されたら予定日のセルの色も実施日のセルと同様に灰塗にし 実施日が未入力状態であるときは予定日のセル色に対しての変更はかけたくないのですが 実施日に日付を入力をすると予定日のセルも灰色にはなるものの 一度入力された実施日のセルをデリートしても予定日のセルが灰塗のままで戻りません。 予定日のセルに設定した条件付き書式は ・「数式を使用して~」→「次の数式を~」に「=$○$8=""」 書式に白塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+3」書式緑塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値に等しい」「=$C$3+1」書式黄塗 ・「指定の値を含む~」→「次のセルのみを~」に「セルの値」「次の値以下」「=$C$3」書式赤塗 ・「数式を使用して~」→「次の数式を満たす場合に~」に「=$○$8<$C$3」→書式灰塗  ※○の中には相関列文字を入力 この一通りの設定を、項目の上行と下行に対して参照関係になるようにセル位置の指定は変更してあります (E列の数式にはEを、F列の数式にはFを という具合です) これ以上何かを設定しなければいけないのか、どこかの設定が間違っているのか、VBAじゃないとできないのか・・・ どなたかご教授願います。説明の過不足等ありましたらご指摘ください。

  • Excel たくさんの条件を含んだ数式を使いたい

    あまりExcelが得意ではない者です。 何卒、お助けいただければと思います。 簡単なバイトのタイムシートを作りたいのですが、 次のような場合、どのような数式(?関数)を使えばいいのかわかりません。 平日は勤務時間×時給(例えば800円)で、 土日祝は勤務時間は入力するものの、勤務時間に関係なく日給(例えば1500円)だとします。 但し、まだ勤務時間を入力していない場合は、空白を表示するようにしたいのです。 そして、土曜日なら、セルの色を水色、日曜・祝日なら、セルの色をピンクにしたいのです。 例えば Aの列に曜日を、Bの列に勤務時間を、Cの列にその日の給料を表示させたいのです。 A    B     C 木   1.5   1.5×800された数字 金   2     2×800された数字 土   3     4000であり、セルは水色 日   未入力  空白であり、セルはピンク このようなことにしたいので、 Cの列に入力すべき数式(?関数)を教えてください。 宜しくお願いします。

  • Excelで手入力したセルにのみ色をつけたい

    Excelで、数式(関数)を使って値が"A"、"B"、"C"になる表があります。この表に手動で強制的に別の"A"、"B"、"C"に書き換えたセルが合ったとき、この強制的に書き換えたセルを背景色を変えるなどして一目でわかるようにしたいのです。 セルの値としては、数式(関数)で求められた"A"と手入力された"A"は同じように文字になるとおもうのですが、これを区別して、条件付き書式などで反映させる方法はあるでしょうか?

  • Excelの条件付き書式で、数式と数値を区別する方法

    Excelの条件付き書式の使い方を教えてください。 ちょっとややこしめの表があって、数式や関数がちりばめられています。 この表は、毎月、数値を変えて使いたいのですが、 数値が入っているセルと、数式が入っているセルが混在していて、 どこに値を入力すればいいのか、いまいちつかみにくいのです。 数値のセルだけ色をつけ、入力するところのみを際立たせたいのですが、 条件付き書式でできないでしょうか? よろしくお願いします。

  • エクセルで一定条件を満たすセルのみ色を変えるには

     エクセルで正の数の値を示すセルだけ黄色の色にしたいのですが、IF関数等を使ってできますか。 エクセルは2003です。

  • エクセルでセルの位置情報を返す数式を教えてください

    エクセルでセルの位置情報を返す数式を教えてください。 エクセルでセルの位置情報を返す数式を教えてください。 たとえば以下のような表がある場合、Offset関数でC4の値を 出したい場合は、offset(A1,3,2,1,1)となります。 しかし、A1のリストの位置が不明のためこの位置を反映することのできる 数式を教えていただけると助かります。 よろしくお願い致します。 A B C 1 リスト 2 あ 10 20 3 い 30 40 4 う 50 60

専門家に質問してみよう