• 締切済み

エクセルでセルに特定の数値を空白にしたい

タイトルと質問内容が少し違うかもしれませんが、適当な表現が分からなかったのでこのようにさせて頂きました。 上司にエクセルで管理表を作成してほしいと頼まれました。 使用しているエクセルは2003です。 A列に担当者名、B列に契約日、C列に完了日、D列に契約から完了までの日数を表示し、日数ごとにセルへ色を付ける事にしました。 ということで、A1列に名前、B1とC1に日付、D1に=C1-B1を入力しました。 さらにD1は条件付き書式を以下のように3つ指定しました。 =AND(D1>3,D1<11) →青:4~10日間 =AND(D1>10,D1<16) →黄: 11~15日間 =D2>15 →赤: 16日以上 (上司には4種類で分けて欲しいと言われましたが、設定上出来ないと断りました。) これをオートフィルで下へコピーし、ほぼ思うような表に出来たのですが、B列に日付が入力されていて、C列に日付が未入力の状態だと、D列にー40923というようなマイナスの数値が出てしまいました。 これを回避するために、マイナスの数値はセルに表示しないようにしようと思いました。 しかし、契約よりも先に完了していることもあるかもしれないので、マイナス方向の日数には30日の幅を持たせることにしました。 従ってD1には=IF(C1-B1<-30," ",C1-B1)を入力し再びオートフィルしました。 これは希望通りに反映されたのですが、今度は B列入力済でC列未入力のD列のセルが赤で表示されるようになりました。 これはどのようにして解決したら良いのでしょうか? なぜ赤で表示されるのですか? そもそも私おやり方で間違いはないのでしょうか? つたない説明で申し訳ありませんが教えてください。 よろしくお願いします。

noname#196893
noname#196893

みんなの回答

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

条件付き書式の設定を増やすこともできないし、すでに契約が済んでいるものに色を付ける必要もないわけですから、D列への入力の式を次の式にして下方にドラッグコピーすればよいでしょう。 =IF(OR(C1<B1,COUNT(B1:C1)<>2),"",C1-B1) この式はC1の時刻がB1の時刻よりも早い時刻であれば、また、B1セルやC1セルの両方に数値(時刻)が入力されていなければ空白のセルにしなさい。そうでなければC1からB1の時刻を引きなさいという意味になります。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

=AND(B1<>"",C1<>"",D1>3,D1<11) でいいかな

関連するQ&A

  • エクセルにて

    A列には日付が入力してあります。(2001/7/17) その日付から3日間経過してもC列のその行に何も入力されなければ、 B列のそのセルを黄色に表示する。 更に7日間経過しても入力なければ赤に表示するようにしたいのですが!? C列に入力されればB列のそのセルは青色表示にしたいのですが!     A      B     C 1 2000/7/10   赤 2 2000/7/11   青   2001/7/16 2 2001/7/13   黄   

  • あるセルから表示させない

    売上票を作成しています。 B列 日付 C列 顧客管理ID番号 D列 金額 G列 売上合計 と言うように作成しています。 G3 に =SUM($D$2:$D3)を入力し後はオートフィルしています。 この時、例えば 「D5」 に金額が記入されていないときは 「G5」 以降のセルには 「G4」 と同じ金額が表示されます。 この金額の表示を 0若しくは何も表示しないようにしたいのですが お知恵をお貸し下さい。 できれば金額が表示されない方を望みます。

  • Excel(エクセル) 同じ列の空白でないセルの数を数える際、数えるセル範囲を流動的にしたい

    S,A,B,C,Dと評価をして、それぞれ2,1,0,-1,-2という点数にします。 その点数の合計を評価と同じ列に表示されるようにしたいのです。 以下に具体的な例をあげます。 [B3]セル =SUM(COUNTIF(B$5:B$11,"=S")*2,COUNTIF(B$5:B$11,"=A")*1,COUNTIF(B$5:B$11,"=B")*0,COUNTIF(B$5:B$11,"=C")*-1,COUNTIF(B$5:B$11,"=D")*-2) [B5]~[B11]セル 評価(S,A~D)を入力 ここまではいいのですが、したいのはB12セル以降に新しく値を入れたら、自動的にB12セル以降の点数も加えてB3セルに表示されるようにしたいのです。B3セルに「B$5:B$11」の「11」代わりにもっと大きな値を入れれば可能なのですが、それはしたくありません。また名前をつけてもいいのですが、オートフィル機能を利用してC列以降にも数式を入れたいため、どうしていいかわかりません。 どなたか解決策がお分かりになられる方がおられましたら、どうかお知恵を拝借願えないでしょうか? ※管理者の方へ 訂正して再投稿ました。前回の書き込みは削除していただけると幸いです。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • エクセルで表示上だけ空白にしたい。

    エクセルで、A列は日付、B列は受入数、C列は払出数、D列は在庫数という表を作っています。 日付は入っていても、受入か払出に入力があるときだけ在庫数を表示し、 受入、払出ともに入力がない日は、在庫も空白の表示にしたいです。 考えぬいて、 IF(AND(B2="",C2=""),"",D1+B2-C2) で、成功したかに思えましたが、 空白セルの次の行になると、 在庫数が空白なっているため、エラーになってしまいます。 在庫数を表示上だけ空欄にしたいのですが、 考え方から違っているのでしょうか。 どうかご教授お願いいたします。

  • excelで自動計算

    excelで九九の早見表のようなものを作りたいのですが・・・ ___A__B__C__D 1_____1__2__3 2__1__1__2__3 3__2__2__4__6 4__3__3__6__9 B2のセルには、A2*B1 C2のセルには、A2*C1 D2のセルには、A2*D1 B3のセルには、A3*B1 ・・・といった感じの表を作りたいのですが。 オートフィルを使って(又は自動で)さくっと簡単に作ることは可能でしょうか? B2=A2*$B$1 とやれば、縦方向にはオートフィルで1列だけうまくいくのですが、横方向にはうまくいってくれません。 2行目を全部手入力でやって、縦方向にオートフィルで出来そうなんですが、 100 X 100 以上の表を作りたいので途中でやる気がなくなります。 何かいい方法があれば、教えてください。 よろしくお願いいたします。

  • エクセルで数値と文字を指定すると、指定数値分のセル数だけ文字列を表示するには?

    エクセルの文字列表示方法について質問します。 例えば、A1セルに「3」、B1セルに「赤」と入力すると、 A3~A5の「3」つのセルに「赤」と表示されるようなことをするにはどのようにしたら良いか? A1とB1の値を変えると、A3以降のセルに自動表示されるようにするためにはどのようにすれば良いか? できれば、マクロを使わずに既存の関数等を組み合わせて実現できる方法があれば教えていただきたいのですが・・・。  A B C D 1 3 赤 2 3 赤 4 赤 5 赤

  • エクセルで件数をカウントしたいが・・・

    エクセル2000で作った名簿があります。 A-日付(年間分)、B-名前、C-住所、D-金額の並びです。 月別に何区の人が何人かという統計を作りたいので、 まずオートフィルタでC:住所を選択しました。 次にCOUNTを使ってAやDの数字の入った列を選択したのですが、結果の数字がものすごく大きく、どうもオートフィルタで見えていないセルもカウントしているように見えます。 表示されてる部分だけのセルの数を数えるにはどうしたらよいでしょうか。 ちなみに、A列で(以前教わった)一月分オートフィルで出そうとしましたが、 ”「2002/5/1」以上「2002/5/31」以下”としてもこの場合できませんでした。 2列でオートフィルを使うのは初めてではないのですが・・・ ぜひ御回答よろしくお願いします。

  • Excelの時間計算(年・月・日 別々のセルで…)

    Excelの時間計算で悩んでいます。 2つの異なる日付(年、月、日別々のセルに入力したもの)の 日数の差を関数で表示させたいのですがうまく行きません。 例えば、 A列にスタート年、B列にスタート月、C列にスタート日、D列にエンド年、E列にエンド月、F列にエンド日を入力し G列にエンド年月日-スタート年月日の日数させたいと考えています。 +----A----B----C----D----E----F----G 1   2008      2      1   2008      2     28     24 G1にDATE(D1,E1,F1)-DATE(A1,B1,C1)の数値を表示させたいのです。 ひとつのセルに日付形式で年月日を持たせれば DATEIF関数で実現可能なのは判りましたが 運用上、年月日を別のセルにして管理したいと考えています。 どなたかお解りになる方、いらっしゃいませんでしょうか。

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?