• ベストアンサー

入力年月日から月初の日付を求めたいのです。

こんにちは。いつもお世話になります。 入力日付が、2003/01/10(yyyy/mm/ddの形式です)だとすると、その月の最初の日、 つまり2003/01/01を取得したいのですが、どうしたらうまくいくでしょうか? 年と月を取り出し、format関数で変数に入れようとしてみましたが、エラーになってしまいました。環境は、Access2000、winXPです。どなたかよい方法をご存知の方回答よろしくお願いします。

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

#3です。 ごめんなさい。Access ですね。 でも同じ方法ですよ。 =[日付]-Day([日付])+1  でどうですか。

satie
質問者

お礼

こんにちは。指定した日付から日にちの数字を引いて、1を足すとその月の初めの日付になりますね。今回は勉強になりました。ありがとうございました!

その他の回答 (4)

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.4

#1です。 ACCESSでしたね。EXCELと勘違いしてしまいました。;^^A #1の回答は無視してください。

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

セルA1に日付形式のデータがあるとして、 =A1-DAY(A1)+1 で如何でしょうか。

  • tyoufu
  • ベストアンサー率28% (19/67)
回答No.2

簡単な関数を使ってだったら CDate(Format("2003/01/10","yyyy/mm") & "/01") で出来ます

satie
質問者

お礼

こんにちは。CDateをすっかり忘れていました!ばっちりできました。ありがとうございます。

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

セルA1に 2003/01/10 が入っているとし、セルB1に2003/01/01 を取得するとします。 セルB1のセル書式をセルA1と同じにしておいてから =EOMONTH(A1,-1)+1 としてみてください。 EOMONTH(A1,-1) で、1つ前の月の月末日がでるので、それに1を足して、月初を出してます。

satie
質問者

お礼

こんにちは。早速の回答ありがとうございます。セルって書いてあるから、もしかして・・・と思ったのですが、エクセルだったのですね。AccessでもEOMONTHはあるみたいですけど、エラー値#NAME?が返ってきてしまって、ヘルプによると、officeを再インストールしなければならないらしいです。 エクセルはあまり使うことがないので勉強になりました。ありがとうございました。

関連するQ&A

専門家に質問してみよう