こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルでセルの色を参照したい。

エクセル2010で、例えばA列(複数行の結合セル)に日付が入っていて、B列にその日の作業人数、C列にトータル仕事量が入るような表で、
仕事量が作業者数を超える場合、日付けセルに色が付くように書式設定してあるのですが実際の表は1日分の行数がこれ以上に多いので3-4日間程度の予定しか確認できない表になっています。

これだと月の予定が見えにくいので、別の表の日付のセルにその日の色を参照させたいのですが。

イメージとしては添付の表のような表示がさせたいのですが、セルの色参照は簡単には行かないのでしょうか?

投稿日時 - 2018-04-24 09:38:42

QNo.9491790

困ってます

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

マクロを使えば可能ですが・・・します?
任意のセル色の取得・・・
https://www.tipsfound.com/vba/07005
を使えば可能です、っんでその取得した色指定方法を
セルに色を設定する ・・・
https://www.tipsfound.com/vba/07006
これでできますよっ

投稿日時 - 2018-04-24 09:57:28

補足

やはり色問題はマクロでの対応となってしまうのですね。

今回はコツコツと31回X2色の書式設定で確実に対応したいと思います。
HPは今後の参考に取っておきます。

ありがとうございました。

投稿日時 - 2018-04-25 08:46:20

お礼

早々のご回答ありがとうございます。

ご察しの通り「・・・します?」の感じです。
以前どうしても必要で、ここで教えてもらいながら何とかマクロで対応したことが有るのですが、今回はその労力でカレンダの31個のセルに書式設定出来てしまいそうなので今回はマクロは遠慮させてもらいます。

お手数をおかけしました。

投稿日時 - 2018-04-24 15:26:49

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

質問者のエクセルのスキルは、エクセル関数をつかう程度でしょうか。
エクセルのデータは
主に扱うのは
(1)セルの値
(2)セルの書式、表示形式
その他が在りますが略。
があります。
このうち、エクセル関数で扱うのは、(1)だけです。(2)は関数の対象になりません。このことを知らない質問者が多い。正規にエクセルの講習を受けたり、本でじっくり勉強してないからでしょう。また講師レベルでも、この点を大切と思わず、力説しないのでしょう。
多分歴史的に表計算とその関数が、作られた当初のころは、(1)だけで精一杯だったのでしょう。メモリや処理速度、顧客ニーズなどの点で。
その後、本質問のような(2)に絡んだ質問が出ますが、そう多くはなく。MS(マイクロソフ)エクセルもそこへ至っていません。多分意識して、一線を引いているのでしょう。あるいはVBAを使えばできるから、どうぞかもしれない。
しかし検索などでは、昔は(1)だけだったのに、新しいバージョンでは(2)による検索が可能になってきています。
ーー
エクセルVBAを勉強すれば、すぐできることですし、コードはWEBを調べればすぐわかります。
他に、セル結合を使っている点は、VBAでどうとらえるか、の要勉強点ですが。
要はVBAの基礎をやる気があるかどうかであり、個人の性向で、そこまでやる気がしない人も多いようです。
セルの色付けのVBAでの表現も数種類あります。
本件はセルに色を「設定」の逆の、「取得」のパターンになります。
==
質問者の関心が出そうな点は、
条件付き書式で、セルの色が着けられている場合は、その「条件」を具体的に調べて、その条件が、エクセルの「関数で表現できる」なら(例○○より大)、その条件で、別途関数を使って、シートの上でその行を抜き出せば、質問者の要望は出来ると思う。
しかし「エクセルの関数での抜出問題」は、エクセル関数の上級の経験が要るように思うので、すぐに思いつくかどうか?

投稿日時 - 2018-04-24 11:03:37

お礼

お仰る通りです。
以前色問題でVBAで対処したことが有るのですが、今一使いこなせなくて不安があるので今回は手作業でカレンダーに書式設定するのが一番確実のようです。
参考になりました。

投稿日時 - 2018-04-24 15:33:13

ANo.3

セルの色情報を取得するのはANo.1の回答の様にVBA必須。
でも、この内容なら条件付き書式で対応可能です。
条件付き書式の条件を数式にして、Vlookup関数で作業者数を取得します。

添付の図の例では、以下の様な数式を使っています。
=(VLOOKUP(G2,$A:$B,2,FALSE)=7)

投稿日時 - 2018-04-24 10:32:09

お礼

早々のご回答ありがとうございます。
試してみたのですが何故かうまく行きません。

VLOOKUPで検索値を範囲指定できましたっけ?
もう少し頑張ってみます。

投稿日時 - 2018-04-24 15:30:46

ANo.2

このやり方はマクロで色番号必要ですので、色ではなく列(非表示)を追加して
色分け同様に、条件関数なり入れて超えていれば1超えてなければ0なり情報いれて、識別すれば関数使って簡単にできると思います。
IF関数で超えてる超えてない判断して1か0を指定セル書き込み
条件付き書式で1であれば0であればという方法もあります

ご参考まで...

投稿日時 - 2018-04-24 10:15:46

お礼

ご回答ありがとうございます。
なるほどのご回答で参考にさせてもらいます。

投稿日時 - 2018-04-24 15:28:21

あなたにオススメの質問