• ベストアンサー

Excel 日付管理の計算

初めて投稿させて頂きます。 現在、Excelを用いてスケジュール管理表を作成しているのですが、 Excel初心者故、思い通りの表が作成できず、 困り果てております。。 どのような表を作るかと申しますと、 A列、B列には後々、日付または「-」を記入し、 C列にはA又はBの30日後(日祭日関係なく、単純に30日後)を 表示させるように作成したいのです。 詳細には、以下のようなルールの表を作成したいのです。 (1)AとBが空欄であるときは、Cは空欄 (2)Bに日付が入力され、Aが「-」のときは、CはBの30日後を表示 (3)AとB両方に日付が入力されたときは、CはBの30日後を表示 (4)Aに日付が入力され、Bが「-」のときは、CはAの30日後を表示 上記の内容で計算式を作成してみたのですが・・・ =IF(B1<>"", (B1+30),IF(A1<>"",(A1+30),"")) これでは「-」を入力したとき、エラー表示となってしまい、 困り果てております。。 皆様のご教授の程、よろしくお願い申し上げます。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.3

#2です。 > Bに日付が入力され、Aが「-」のときは、CはBの30日後を表示 > の条件ではエラーとなってしまいました。。。 おかしいですね、 私は2002ですが、9つのパターン全てをためしていますが、エラーにはなりませんし正しく30日後が表示されています。 Aが半角「-」でない。Bがシリアル値でないかどうか、 或いは式を手入力しているなら。入力ミスの可能性もあります。 入力された式を、補足にそのままコピペしてみて下さい。

その他の回答 (5)

  • naomii
  • ベストアンサー率26% (4/15)
回答No.6

次の式ではどうでしょうか。 =IF(LEN(A2)+LEN(B2)=0,"",IF(N(B2)>0,B2+30,IF(N(A2)>0,A2+30,"-"))) ・最初のIF…A2とB2がともに空欄(長さ0の文字列)場合、"" ・次のIF…B2に日付がある場合、B2の数値に30を加える ・最後のIF…B2に日付が無く、A2に日付がある場合、A2の数値に30を加える 式中のN(B2)は、B2セルの内容が数値ならその値、"-"などの文字列なら0を返す関数です。 なお、この式では、A列、B列のどちらもが文字列の場合、C列は"-"となります。。

  • k_mori
  • ベストアンサー率62% (23/37)
回答No.5

こんにちはー 関数で困っているとのことですがこういうのはどうでしょうか? =IF(AND(A2="",B2=""),"",IF(AND(A2>=0,B2="-"),A2+30,IF(AND(B2>=0,A2="-"),B2+30,IF(AND(A2>=0,B2>=0),B2+30)))) これだとエラー回避してるはずですけど・・・ 一度試してみてください

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

次の方法は如何でしょうか。 =CHOOSE(((ISNUMBER($A1)*1)+(ISNUMBER($B1))*2)+1,"",$A1+30,$B1+30,$B1+30)

noname#79209
noname#79209
回答No.2

要は、Bに日付データがある時は常にBを使うということで =IF(OR(ISBLANK(A1),ISBLANK(B1),AND(A1="-",B1="-")),"",IF(ISNUMBER(B1),B1,A1)+30) で如何でしょう。 ただし、どらかがブランク、もう一方が日付の場合はブランクになってしまいます。 データが無いときに「-」を入力の必要はないとは思うのですが... 「-」を使うとそれだけチェックする項目が増えて、式が複雑化してしまいます。 「-」を「入れ忘れではないよ」いう意味で使っているならわかりますが...

attantan
質問者

お礼

早期のご回答ありがとうございます。 >「-」を「入れ忘れではないよ」いう意味で使っているならわかりますが... そうなんです。正にvizzarさんのおっしゃる通り、 入れ忘れではないという意味で「-」を入れたいのです。。。 vizzarさんの式で試したところ、 (2)Bに日付が入力され、Aが「-」のときは、CはBの30日後を表示 の条件ではエラーとなってしまいました。。。 大変申し訳ありませんが、再度ご教授お願い申しあげます。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

なぜエラーになるのかはお解りでしょうか? B1が空欄じゃないときは、B1に30を足すようになっています。 B1が「-」のときは、空欄じゃないので、「-」に30を足すことになり、その結果エラーになっています。 「-」のときの場合分けもしましょう。

attantan
質問者

お礼

早期のご回答ありがとうございます。 大変申し訳ありませんが、 計算式をご教授願えませんでしょうか? 全くのExcel初心者で 質問にありました計算も本サイトから探し出して 見つけたもので。。。 申し訳ありませんが、 宜しくお願い致します。

関連するQ&A

  • Excelの計算式について

    Excelを使って色々な計算式を作成したいと考えております。 うまく、説明ができない為にExcelファイルを簡易的では御座いますが 作成してみました。 よろしければご覧になって見てください。 http://technocompany.web.fc2.com/excel.jpg A列に日付を入力した場合に自動的に曜日が入るようにしたいのですが このような事は可能でしょうか? A列に入力した日付が月曜日~金曜日の場合には、その右側のC列に¥35000円と入力 A列に入力した日付が土曜日の場合には、その右側のC列に¥22200円と入力 A列に入力した日付が日曜日、祝祭日の場合には、その右側のC列に¥18800円と 自動的に入力をできる様にしたいのですが、このような事は可能でしょうか? B列には、異なる数値を日々入力して、D列にB-Cの数値を表示したいと考えております。 D列に表示された、数値に0.53を駆けた数値を、E列、若しくはF列に表示したいと考えております。 次にE列、若しくはF列に表示された数値に¥15500円を足した金額をG列に表示したいと考えております。 初心者では御座いますがご指導の程よろしくお願い致します。

  • エクセルを使って日付の計算をする方法を教えてください

    エクセル素人です。 エクセルを使用した計算表を作っていますが、 ヘルプを見てもよくわかりません。 アドバイスを宜しくお願い致します。 質問1  A1に日付を入力し、B1に期間を入力(年)すると、 C1にその日付を表示できるようにしたいのです。 A1:日付 B1:年数 C1:入力年数後の日付(※結果) (例)2003/7/28 から 2年後の日付は? 2005/7/27 ↑       ↑          ↑    A1       B1         C1 ┌-----------------┐ | A1 | B2 | C3 | └-----------------┘ 質問2 上記と同じ要領で A1:日付 B1:年数 C1:月数 D1:入力年数後の日付(※結果) を表示する方法 ┌--------------------------┐ | A1 | B2 | C3 | A4 | └--------------------------┘ ※1年後、2年後の日付の問題で、いろいろ解釈が あるとは思いますが、下記の解釈でお願いします。 ○ 2003/7/28から1年後→ 2004/7/27 × 2003/7/28から1年後→ 2004/7/28 ちなみにエクセル2000です 宜しくお願い致します。

  • エクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるよ

    エクセルで、A列に日付をB列に曜日、C列からF列までにデータを入れるように作成しています。 条件付書式で土日祭日の場合はC列からF列に色を表示させています。 この色付セル(土日祭日)の場合にはデータ入力が無いので自動で0を表示させ、なおかつデータ入力が出来ないようにしたいのですが、そのようなことは出来るでしょうか。エクセルは2003を使ってます。

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

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

  • Excelで日付を入力したら締日を表示させる

    Excelで経費の支払いの表を作ろうとしています。 A列のセルに日付を入力し、 A列に入力した日付が1日~15日までなら B列のセルにその月の最終日の日付を 16日~31日までなら B列に翌月の15日と自動で表示されるようにするには どうすればいいのでしょうか? 詳しい方、教えてください。 ちなみに使用しているExcel2010です。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • エクセルでの計算について

    今、エクセルで確認表となるのを作成しているのですが、まだ勉強不足でして1つ教えていただきたいのですが、 セルAの列には日付(確認日)を入れています。 (月を入力すれば、その月のカレンダー通りに自動で変更されるように式をいれて作成しました) セルBの列には確認する項目においてあり・なしを手書きで書けるようにそれぞれマスを作っています。(最終的に月ごとに印刷して表にするので) ここで質問なのですが、セルA列の日付けに対してセルB列にも一日前の日付けを付ける場合、自動で入力(月ごとに反映)されるようにするには(A列みたいに月を変えればその月に反映される)どういう風に式を入れたらよいのでしょうか? よろしくお願いします。

  • Excelで日付の参照がうまくできません

    添付写真のようなシートがあります。(時刻表と考えていただければ結構です。) A5:B7に基本となる時刻表があります。 B2にはA5:B7の表をVLOOKUP関数でA2に対応するものを表示させています。 C2には実際の時刻が入ります。 B3にはその予定がA1の日付と同日ならば空欄、異なればその日付を入れます。C3も同様に実際の日付を入れます。 F2には=IF(B3="",A1+B2,B3+B2)を入れ、表示形式はyyyy/m/d hh:mmです。 同様にG2には=IF(C3="",A1+C2,C3+C2)を入れ、表示形式は上記と同様 H2はF2とG2の差を比較し、単純にG2-F2を入れています C4が空欄の場合、G4は2010/11/20 0:00となっています。 2行で1セットとしてそれを下にいくつも増やしていったところ、F2やG2のセルに入るべき日時がPCの現在日時を基本にするようになってしまいました。 この例ですと、C4が空欄の場合はG4が2010/11/20 8:00となり、C4に2:00を入れるとG4は2010/11/20 10:00となります。 いつの時点でこうなってしまったのか不明です。どうすればこの状態を回避できるでしょうか?

  • Excel 数式がうまく計算されない

    飲食店勤務です。オーナーからの依頼により、1ヶ月の売上と売上累計、仕入と仕入累計の表を作成しています。 Sheet1では売上に関する表を作成しています。 A列=日付、B列=売上、C列=売上累計 Sheet1でC2に =IF(OR(B2="",C1=""),"",SUM(B2,C1))の式を入力しました。 上の式を下にコピーをしても、売上が空白の時は空白になりました。 (例) 日付_売上_売上累計 1日_500_500 2日_500_1000 3日_空白_空白 そして、Sheet2で仕入に関する表を作成しています。 仕入先などの名称入力のため、セルを結合して作成しています。 (売上表とは行が若干ずれています。) AA列=日付、AC列=仕入、AG列=仕入累計 AG5に =IF(OR(AC5="",AG4=""),"",SUM(AC5,AG4))の式を入力しました。 ですが、この式をSheet1と同じように下にコピーをすると仕入を入力してないのに、前日の仕入累計が表示されてしまいます。 (例) 日付_仕入_仕入累計 1日_500_500 2日_500_1000 3日_空白_1000 しかし、その日の仕入金額を入力すると、ちゃんと累計計算はされます。 Sheet1の数式をコピーして、セルの値を変えただけなのですが・・・ セルを結合するとだめなのでしょうか。 それとも数式が違うのでしょうか。 拙い説明で申し訳ございませんが、助けていただきたいです。 宜しくお願い致します。

  • 教えてください。エクセルについて(初心者です。)

    エクセルについて教えてください。 毎日の業務で「売上表」と「日報」を作成しています。 例えば 売上表のA列に日付  B列に売上  C列に客数を入力します。 日報にTODAY関数で日付を表示させると 売上入力セルにその日の売上が参照される。 といった方法を教えて頂きたいのです。 よろしくお願いします。

専門家に質問してみよう