• ベストアンサー

Excel 日付

はじめまして。 Excel 2007を使用しています。 10日締めで、11日~翌月10日までの日付の自動入力の式を教えて頂きたいです。 C4、D4、E4…と横に11日から10日まで31列。 なのですが、2月や4月で31日までない月は、ない日付は空白にして1日、2日と続くようにしたいです。 C4に例えば2014/2/11と入れたら、自動的に入力されるようにしたいのですが、空白が入るようにしたいです。 説明が分かりにくかったら申し訳ないです! よろしくお願いいたします。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.9

>空白になる欄は、11日以降ではなくて、例えば31日がない月はそのない部分を空白にしたいのですが、それは可能でしょうか? 少々面倒な論理を考えれば可能です。 D4=IFERROR(IF(COLUMNS($D4:D4)<21,IF($C4+COLUMNS($D4:D4)>EOMONTH($C4,0),"",$C4+COLUMNS($D4:D4)),EOMONTH($C4,0)+COLUMNS(D4:$X4)),"") D4セルをAG4までコピーしてください。 貼付画像はExcel 2013での検証ですが、Excel 2007でも同様になるはずです。

krkrnan
質問者

お礼

補足への回答ありがとうございます。 2007でも大丈夫でした。完璧です!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (10)

回答No.11

No.10です。 説明足らずでした。No.10の式をD4セルに貼り付け、AG4セルまでオートフィルして下さい。

krkrnan
質問者

お礼

お礼が遅くなりました。 回答をありがとうございます。 皆さんの回答をみて、いろいろな式があり、とても勉強になりました。ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
回答No.10

以下の式をD4セルに貼り付けて下さい。 =IF(DATE(YEAR($C4),MONTH($C4)+1,1)>$C4+COLUMN()-3,$C4+COLUMN()-3,IF(DATE(YEAR($C4),MONTH($C4)+1,1)<=$C4+COLUMN()-3-(31-DAY(DATE(YEAR($C4),MONTH($C4)+1,1)-1)),$C4+COLUMN()-3-(31-DAY(DATE(YEAR($C4),MONTH($C4)+1,1)-1)),""))

krkrnan
質問者

お礼

回答ありがとうございます。 本当に勉強になります。ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.8

No.3・6です。 たびたびごめんなさい。 お詫びのしるしとして代替案をもってきました。 セル配置はNo.3の画像と一緒で、A1セルに西暦年・A2セルに月の数値を入れるとします。 C4セル(セルの表示形式はユーザー定義から d としておく)に =IF(DAY(COLUMN(K1))<=DAY(EOMONTH(DATE($A1,$A2,1),0)),DAY(COLUMN(K1)),"") という数式を入れAG4セルまでフィルハンドルでコピー! ※ 表示されているのは単なる数値でシリアル値ではありません。 こんな感じではどうでしょうか?m(_ _)m

krkrnan
質問者

お礼

お詫びなんて、全くわけわからずの私にありがとうございます。 いろいろな考え方があると勉強になりました。本当にありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.7

月末の存在しない日は詰めて表示したいということなら、D4セルに以下の数式を入力して右方向にオートフィルして下さい(セルの書式は適宜設定してください)。 =IF(C4="","",IF(AND(MONTH(C4)<>MONTH($C$4),DAY(C4)>9),"",C4+1))

krkrnan
質問者

お礼

ありがとうございました! 皆さんの回答でいろいろな考え方があると勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

No.3です。 投稿後気づきました。 大きな勘違いをしています。 >ない日付は空白にして を見逃していましたので、No.3は無視してください。 どうも失礼しました。m(_ _)m

krkrnan
質問者

お礼

とんでもないです! 私も初めて質問を投稿して、質問の仕方が悪かったとおもいます。 ありがとうございました! もう少し回答を受け付けてみます。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.5

>C4、D4、E4…と横に11日から10日まで31列。 >なのですが、2月や4月で31日までない月は、ない日付は空白にして1日、2日と続くようにしたいです。 C4へは年月日を入力するものとすればD4=C4+1で良いことになります。 但し、翌月11日以降は空白とする必要があるためIF関数で判断します。 D4=IF(C4="","",IF(C4+1>EOMONTH($C4,0)+10,"",C4+1)) 内側のIF関数のEOMONTH関数はEOMONTH(開始日,月数)で月数を0にすると開始日の月末になります。 外側のIF関数は翌月11日以降を空白にするときのエラー防止とC4セルが空白のとき空白にする効果があります。 貼付画像は2014年1月から12月までの検証のために作成したものです。

krkrnan
質問者

補足

検証までしていただきありがとうございます。 説明が悪かったのですが、空白になる欄は、11日以降ではなくて、例えば31日がない月はそのない部分を空白にしたいのですが、それは可能でしょうか? よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.4

ご希望の形と異なるので“別解”ということで… 添付図参照 1.セル C4 に次の[条件付き書式]を設定    数式が   =MONTH(DATE($A2,$A3,C4))<>$A3    フォント色 白 2.セル C4 に数値 11 を入力して、此れを右方にズズーッと列Wまでドラッグ&ペースト 3.範囲 C3:W4 が選択状態になっていることを確認して、[編集]→[フィル]→[連続データの作成]を実行 4.[増分値]ボックス内を 1 にして、[OK]をクリック 5.範囲 X4:AG4 に左から数値 1、2、3、…、10 を入力 【お断り】上述の手順は Excel 2002 に基づいているので、Excel 2007 に合わせて適宜読み替えて下さい。

krkrnan
質問者

お礼

早速の回答をありがとうございました。 いろいろ試して勉強したいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! >C4に例えば2014/2/11と入れたら・・・ 4行目に直接日付を入力するのではなく、別セルに月の数値だけを入力する方法はどうでしょうか? 仮に↓の画像のようにA1セルに西暦年・A2セルに月の数値を入力するとします。 画像でへC4セル(セルの表示形式はユーザー定義から d としておきます)に =IF(DATE($A1,$A2,COLUMN(K1))<DATE($A1,$A2+1,11),DATE($A1,$A2,COLUMN(K1)),"") という数式を入れ、AG4セルまでフィルハンドルでコピーしています。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

分解した算式です。 C4セル: 入力用 D4セル: =IFERROR(IF(MONTH($C$4)=MONTH(C4+1),C4+1,""),"")        セルW4までコピーします。   → 1日進めて入力月と同じ月なら1日加算します。翌月なら表示しません。      IFERRORは2月用です。 X4セル: =DATE(YEAR($C$4),MONTH($C$4)+1,1)   → 入力月の翌月1日です。このセルは必ず1日になります。 Y4セル: =X4+1        セルAG4までコピーします。   → 今度は無条件に1日進めます。10日までになります。 1つの算式ではありませんが手作業風の算式です。ご参考に。

krkrnan
質問者

お礼

早速の回答をありがとうございました。 Excelを使いこなすのは大変ですが、頑張ってみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

>C4に例えば2014/2/11と入れたら D4に =IFERROR(DATEVALUE(TEXT(EDATE($C4,(COLUMN(L4)>31)+0),"yyyy-mm-")&MOD(COLUMN(K4),31)+1),"") と記入、セルの書式設定の表示形式のユーザー定義で d あるいは d日 のように設定、AG4までコピー。 #X4には セルの書式設定の表示形式のユーザー定義で m/d あるいは m月d日 のように設定する

krkrnan
質問者

お礼

早速の回答をありがとうございました。 Excelを使いこなすのは大変ですが、頑張ってみたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

  • Excel で数字が日付に変更されてしまう

    Excel 2003を使っている初心者です。 日付と数字を入力するということをやっていますが、ある列に日付を入力し、その後入力したとき自動的にただの数字が一列おきに日付に変わってしまいます。  具体的には、D列に日付を入力(6/13のように)しF列にもうひとつ日付入力、その後はG,H,I,J...列に数字を入力したいのですが、なぜかH,J列には55のようにただの数字をいれても2月24日などと勝手に変換されてしまいます。 6月13日 6月27日 130 55 135 55のように入力したいのに 6月13日 6月27日 130 2月24日 135 2月24日となってしまいます。 特に日付に関する設定をした記憶がないのですが、どのようにすると日付に変換されないようにできますでしょうか? (分かりにくい説明で申し訳ありません)

  • Excel:11日締の場合の日付自動挿入

    こんにちは! また質問させていただきます。 現在、Excelにて給料管理シートを製作しているのですが、 うちの会社には末締めと10日締めの2通りあります。 末締めの場合の業務日報などの日付は、 C4に日付(2007/2/1)手入力 A5:=IF(C4="","",C4) B5:=IF(A5="","",DAY(A5)) C5:=IF(C5="","",TEXT(A5,"aaa")) にして、日付と曜日が自動で入るようにしています。 また、2月や30日しかない月(9月など)は、ない日付を非表示にするため、 B33からB35まで、=IF(A33="","",IF(DAY(A33)<10,"",DAY(A33))) と入れています。 ここからが質問なのですが、単純にA4に+10にすると、1月11日開始にはなるのですが、 これだと2月8日以降が表示されません。 月が変わっても、翌月10日まで表示させるにはどのような関数を使えばいいのでしょうか? どなたか教えていただけませんでしょうか? よろしくお願いします。 Excelバージョン:2003 OS WindowsXP PRO です。

  • ☆Excelエクセルで入力した日の日付を表示したいです☆

    こんばんは!エクセルで、なにかデータを入力した横のセルに、その日の日付が自動的に入るような方法があれば、是非教えてくださいm(__)m横の列に手動で日付を入力すればよいといえばよいのですが^^;その列には、また別の日に、追加でデータを入力していきたいですので、前の日の日付もその日の日付も残るようにしたいんです。today関数とかじゃ全部その日になってしまいますよね。。。もし、データを入力しただけで、そのようなことができる方法があれば、是非教えてください。よろしくお願いしますm(__)m

  • Excelで日付が入っていたら金額を合計したい

    Excel2007を使用しています。 支払い報告書をエクセルで作ろうとしています。 D列に金額を入れ E列に実際に支払った日付(10/18と入力します)を入力すると セルB2の支払済合計額に合計金額が入るようにしたいです。 またE列に日付を入力せずにいると セルC2の支払い予定額が入るようにしたいです。 なおE列には日付以外にキャンセルとか支払い不要とか 日付以外も入るので日付が入った場合のみ支払合計額に、 空白の時は支払い予定額に それ以外の場合はどこにも加算されないようにというのが希望です。 SUMIFなどを使って自分なりに関数を作ってみましたが イマイチ出来ませんでした。 よろしくお願いします。

  • エクセル日付計算

    エクセルで3ヶ月点検表を作りたいのですがセルC2に実施日D2に90日E2に次回実施日を出したのですが関数をC2+D2=E2にしましたE2に答えは出るのですがC2が空白の時E2に1900/4/2の日付がでますC2が空白の時E2も空白にするにはどうすればよいのでしょうか教えていただけますか。

  • エクセル 日付の修正

    お尋ね致します。 あるエクセルの表なんですが、A列が、31001(令和3年10月1日)という形の日付になっています。 これをyyyy/mm/ddに変えるため、B列の全行に2021と入力し、C列にmid関数で月を取り出し、D列にright関数で日を取り出し、この3列を使ってE列をdate関数で2021/10/01 にしています。 これよりスマートな方法があったらご教示願えませんでしょうか? ちなみに最後の形はR3/10/01でもOKです。

  • エクセル2007 日付をそろえて表示したい

    エクセル2007 日付をそろえて表示したい エクセル初心者です。 日付をそろえて表示させたいのですが、どうすればいいでしょうか。 たとえば、2010/5/29と2010/10/29を縦に並べて表示したい場合、 自動で5(月)の前に空白を入れてくれるような機能は2007にはないでしょうか。 すでに入力した後で上司に注意され、困っています。

  • Excelで日付と時間の自動入力

    教えてください。 エクセルで表を作っているのですが、 D列に文字を入力すると、 A列に入力した日付 B列に入力した時間 を「自動で」表示させたいのですが…マクロやVBAなどでできますでしょうか? できれば、D列の文字を消すと日付と時間も消えるようにしたいです。 初心者で申し訳ないのですが、よろしくお願いします。

  • エクセルの数式で日付=日付がTRUEにならない

    エクセル2010のA列に日付、B列に時刻、C列にある数字が入っており、D列で指定した日付のC列の数字を足したいとします。  A       B   C      D     E 2014/3/4   0:00   1   2014/3/4    2014/3/4   1:00   0   2014/3/5 2014/3/4   2:00   1   2014/3/6   ・      ・    ・      ・   ・      ・    ・      ・   ・      ・    ・      ・ 2014/3/4  23:00   0 2014/3/5   0:00   1   ・      ・    ・      ・   ・      ・    ・      ・   ・      ・    ・      ・ この時、E列には数式「=sumif($A$:$A$,D1,$C:$C)」を入れれば、求めたい数字が出てくるはずです。 ここで質問なんですが、このときにA列に入っている日付とD列に入っている日付が同じなのに、認識されずにsumが行われない時があります。 これは何が原因と考えられますか? データの入力をwindowsでやったりMacでやったりしたことも原因の一つとも考えられますが、その場合に起こり得る問題は何があるでしょうか?

専門家に質問してみよう