- ベストアンサー
入力年月日から月初の日付を求めたいのです。
こんにちは。いつもお世話になります。 入力日付が、2003/01/10(yyyy/mm/ddの形式です)だとすると、その月の最初の日、 つまり2003/01/01を取得したいのですが、どうしたらうまくいくでしょうか? 年と月を取り出し、format関数で変数に入れようとしてみましたが、エラーになってしまいました。環境は、Access2000、winXPです。どなたかよい方法をご存知の方回答よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 ごめんなさい。Access ですね。 でも同じ方法ですよ。 =[日付]-Day([日付])+1 でどうですか。
その他の回答 (4)
- hinebot
- ベストアンサー率37% (1123/2963)
#1です。 ACCESSでしたね。EXCELと勘違いしてしまいました。;^^A #1の回答は無視してください。
- ja7awu
- ベストアンサー率62% (292/464)
セルA1に日付形式のデータがあるとして、 =A1-DAY(A1)+1 で如何でしょうか。
- tyoufu
- ベストアンサー率28% (19/67)
簡単な関数を使ってだったら CDate(Format("2003/01/10","yyyy/mm") & "/01") で出来ます
お礼
こんにちは。CDateをすっかり忘れていました!ばっちりできました。ありがとうございます。
- hinebot
- ベストアンサー率37% (1123/2963)
セルA1に 2003/01/10 が入っているとし、セルB1に2003/01/01 を取得するとします。 セルB1のセル書式をセルA1と同じにしておいてから =EOMONTH(A1,-1)+1 としてみてください。 EOMONTH(A1,-1) で、1つ前の月の月末日がでるので、それに1を足して、月初を出してます。
お礼
こんにちは。早速の回答ありがとうございます。セルって書いてあるから、もしかして・・・と思ったのですが、エクセルだったのですね。AccessでもEOMONTHはあるみたいですけど、エラー値#NAME?が返ってきてしまって、ヘルプによると、officeを再インストールしなければならないらしいです。 エクセルはあまり使うことがないので勉強になりました。ありがとうございました。
お礼
こんにちは。指定した日付から日にちの数字を引いて、1を足すとその月の初めの日付になりますね。今回は勉強になりました。ありがとうございました!