• ベストアンサー

EXCEL2000で色を塗ると数字に表せる方法?

EXCEL2000を使用しています。 横の行に時間帯を表示しています。 1セルを5分とし、1時間12セル使用して横に並べています。 上にそれぞれの項目を表示しています。 例えば「営業」「休憩」「事務手続き」などです。 この各作業内容を先に記載した時間帯のセルに色分けをします。 例えば営業を8時から9時まで行ったとすると、時間の行には8時から9時までのセルに黄色で表示します。 その時、上の項目の下に「60」と表示させたいのです。 次に9時から9時10分まで休憩したとします。 その時時間帯の二つのセル(10分間)に青で色をつけます。 今度は休憩のしたのセルに「10」と表示させたいのです。 そのようにセルに色を付けた分だけ、それぞれのセルに数字に表せる数式ってありますか? 詳しい方、宜しくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

No.1です。 作業用の行を7行(1週間分)使用します。 とりあえず、20~26行目を作業行として使用するとします。 そして、以下の手順でセルの色番号をこの作業行に表示させます。 ・C20を選択する ・メニューの[挿入]→[名前]→[定義]で[名前の定義]ダイアログを表示させる ・[名前]欄に適当な名前(仮に「色番号」とする)を入力 ・[参照範囲]欄に、  「=GET.CELL(63,C13)+NOW()*0」  と入力して、[OK]する ・C20に、「=色番号」と入力する これで、C20にC13のセルの色番号が表示されます。 これは、7行上のセルの色番号を表示するので、 C20~xx26のセル全てに、「=色番号」と入力します。 (コピーすればいいです。) (また、xxは実際の範囲の最後の列です。) 後は、O4に、 =COUNTIF($C20:$xx20,6)*5 で月曜日(20行目)の黄色(色番号6)のセルの数×5分が表示出来ます。 これを、下へコピーすれば、各曜日の結果が表示されます。 なお、13~19行のセルの色を変えたら、一度は必ず[F9]を押して再計算させて下さい。 (再計算させないと、色番号が更新されません。) なお、何色が何番かは、ご自分で確認して下さい。 ちなみに、色番号0は、セルの色が「自動」に設定されているということです。 あと、作業行が邪魔なら、非表示にしておいても構いません。

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

普通の関数では無理でしょう。 ●ユーザー定義関数を作ってみました。  ALT-F11でVBE画面に移動します。  メニューから、挿入→標準モジュール で標準モジュールを挿入します。  そこに、下のコードをコピーして貼り付けます。終わったらシートに帰ります。 ●使い方は、合計を表示したいセルに   =ColorCount($D$13:$EE$17,S2)  のようにして使います。ここで、  $D$13:$EE$17 は色を数える範囲。このように絶対番地指定にしておくとコピーが楽です。  S2 は集計したい色がセットされているセルです。(凡例みたいなセルがあればそれを使います) ここからコピーして標準モジュールに貼り付け ↓ Function ColorCount(ByVal rgArea As Range, ByVal rgColor As Range)   Dim rg As Range       '// セル   Dim chkColor As Long    '// 集計する色コード   Dim TTL As Integer     '// 総セル数   chkColor = rgColor.Interior.ColorIndex   For Each rg In rgArea     If rg.Interior.ColorIndex = chkColor Then       TTL = TTL + 1     End If   Next   ColorCount = TTL * 5 End Function

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 項目名はどこに表示するのでしょうか? 1時間なら、横に12セル色を塗るわけですが、その12セルのどのせるの上に項目名を表示させるのでしょうか? また、その項目の下に分数を表示させたいということですが、下というのは、色を塗るセルの下でしょうか?それとも項目名を表示させるセルと色を塗るセルの間でしょうか? 具体的なセルの位置を提示して下さい。

shu666
質問者

補足

月曜日の朝8時~8時5分までのセルをC13としています。その次の8時5分から8時10分までのセルをD13としています。以後5分ごとにセルは並んでいます。 次に各作業の項目を表しているセルですが、いくつかのセルを合体させています。 例えば最初の営業と書いてあるセルはO2です。 その下に週合計を表示させるようにセルを設けていて、そのさらに下に先ほど質問をした色によって数字を表示させたいセルがあります。 営業ならO4になります。 その隣の休憩はAA4になります。 1ページの表示させている順序は上から「各項目」「週合計」「月の各作業に対する時間」「火の各作業に対する時間」「水・・・」「月曜日の色を付ける時間帯」「火曜日の色を付ける時間帯」・・・となっています。 この説明でお分かりになるでしょうか? 宜しくお願いします。

関連するQ&A