• ベストアンサー

たびたびエクセルについての質問です。

たびたびエクセルについての質問です。 A1から横に31日までの日付けが入っていて、A2から横に生産指示数が入っています。 生産指示数は別シートからリンクしています。A3からは生産指示数の累積が入っています。 休みの日や特定日は条件付書式で色塗りしています。色塗りしてある日は非稼動日なので リンクさせてから手動で消しています。 そこで質問です。生産指示数をリンクさせ、非稼動日を入力して色塗りしたら 自動で色塗りしたセルの数値だけを消すことはできないでしょうか? 毎月更新で非稼動日が移動するので困っています。 よろしくお願いします。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 塗りつぶされたセルの場合は数値を消したいということですが、 条件付書式を参照して、数式を組むことは出来ませんので、 そのセルを空白にする条件が必要かと思います。 「生産指示数」に規則性があれば可能ですが、ないのであれば一つ一つDeleteキーで消していくしかないと思います。 そして、余計なお世話かもしれませんが、累計の行があるということなので 単純に考えると累計は一つ前のセルにその日の「生産指示数」を加える数式にすると思います。 その場合、空白=0 となりますので、振り出しからの合計になるので累計とはいえないものになるのではないでしょうか? そこで苦肉の策ですが、条件付書式を設定する場合に セルの塗りつぶしだけでなく、同時にフォントの色をセルの塗りつぶしの色と同じに設定してみてはどうでしょうか? フォントとセルの色が同じになりますので、 画面上では何も数値が入っていないように見えると思います。 次に、他の方法で余計なお世話かもしれませんが、↓のように表を作成してみました。 累計のB3セルの数式を書いておきます。 これは配列数式になりますので、この画面からコピー&ペーストしただけではエラーになると思います。 B3セルに貼り付け後、B3セルでダブルクリック、又はF2キーを押す、又は数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定します。 数式の前後に{ }マークが入り配列数式になります。 =IF(B2="","",SUM(INDEX($A$3:A3,LARGE(IF($A$3:A3<>"",COLUMN($A$1:A1)),1)),B2)) としてShift+Ctrl+Enterキーです。 もし、この数式を使うのであれば2・3行目の条件隙書式はセルの塗りつぶしだけでOKだと思います。(フォント色の設定は不要です。) このB3セルを列方向にオートフィルでコピーすると画像のような感じになります。 以上、長々と書きましたが 参考になれば幸いです。m(__)m

you2001519
質問者

お礼

tomさん毎度ありがとうございます。大変勉強になりました。 感謝、感謝です。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 色塗りをしているのは条件付き書式で行うことで、セルの数値を消すこととはまったく別になりませね。セルに式を入力して、非稼働日に当たる場合にはセルを空にするといった式にすればよいでしょう。 A2セルから横方向にはどんな式が入っているのですか? その式を少し変更してA2セルに次の式を入力して右横方向にオートフィルドラッグすればよいでしょう。 =IF(OR(WEEKDAY(A1,2)>5,COUNTIF(色塗り,A1)>0),"",現在A2セルに入力している式で初めの=を取った部分の式) なお、この式でWEEKDAY関数を使っていますが、これはA1セルから横方向に日付が入っている場合ですが、この場合の日付の入力の仕方は例えば今年の2月1日をA1セルに2010/2/1と入力してからセルを右クリックして「セルの書式設定」を選択し、「表示形式」のタブで「ユーザー定義」の種類の窓にd"日"と入力してA1セルの表示を1日とします。その後にA1セルから右横方向にオートフィルドラッグをすれば日付が表示されます。そのようにすることで曜日も日付からWEEKDAY関数を使ってわかるようになるのです。使っている式では土曜日と日曜日に相当する日付と、色塗りで指定された日付ではセルは空になります。単にA1セルに1日のように入力しているのでは曜日を求めることはできません。

you2001519
質問者

お礼

KURUMITOさんありがとうございました。 丁寧な回答に感謝します。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えば色塗りの条件が判っているわけですから、その条件を組み込んだ式にすればよいでしょう。 例えばA2セルに入力する式を次のようにします。 =IF(OR(WEEKDAY(A1,2)>5,COUNTIF(Sheet2!$A:$A,A1)>0),"",リンクの式を入れる) ここでは土日やシート2のA列で指定した特定日に当たる場合にはそのセルを空白にし、そうでなければリンクの式を実行しなさいとの式になっています。

you2001519
質問者

補足

回答ありがとうございます。教えて頂いた式をA2に入れるとA2は空白になってしまいます。 A2は特定日ではありません。補足させてください 色塗りの条件は=COUNTIF(色塗り,A1)と色塗りで名前の定義させたところだけです。 日付けは数字の入力です。 リンク先の式というのはたとえば=B5からリンクしていたらB5と入力すれば良いですか? 式というかB5の数値(別シート)を=で参照しています。 すみませんがよろしくお願いします。

関連するQ&A