• ベストアンサー

「04」を返したい

?Format(Month(Date), "mm") をすると「01」が返ってきます。 今は4月だから04になると思ってたのですが、どういうことなのでしょうか? 04を返すにはどうすればいいですか?

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

  • ベストアンサー
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

=TEXT(MONTH(TODAY()),"00") ですね。 あと、 =FORMAT(… はExcelシート関数には 存在しない関数では? VBAなのですか? =TEXT(MONTH(TODAY()),"mm") は駄目です。Excelの内部処理の関係です。 month構文を指定した時点で書式mmは使えません。 month構文の返値は単純な数値で 日付のシリアル値とは一致しないからです。 日付は1900年1月1日からの通算日数で管理されていて 「4月だから4」的な管理ではありません。 なので書式mmは使えなくなるのです。 因みに 今月月初を日付として入力し(2013/4/1) 次に数値として表示設定してやると 41365になります。 ここからmonth構文は計算で「4」と割り出しているのです。 セル内や、object内に、「4」を示す値が どこかにしまわれている訳では ないのです。 よ 悪しからず。 お役に立てていたならば幸いです。

ivooweaxcc7
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

Month(Date) は4を返します。 Format(4, "mm") とすると、1900/01/04から月を取り出した1が返ります。 > 04を返すにはどうすればいいですか? month(date)とか、 format(date,"mm")とかではどうでしょう?

ivooweaxcc7
質問者

お礼

なるへそ! monthが余計でしたね 有難うございます。

関連するQ&A

専門家に質問してみよう