• ベストアンサー

excelでの月の自至の表示

こんばんは。 excelでの月の自至の表示は次で表示できるようですが、わかりやすくどなたか解説していただけないでしょうか?また、もっと簡単な方法で月の自至の表示はできないものでしょうか? 表示形式を「日付」の「平成__年__月__日」 自=VALUE(E3&"/1") 至=VALUE(E3+1&"/1")-1

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.6

>月の自至の表示 この言葉見たことがないのですが A3に月中日付があるとして =DATE(YEAR(A3),MONTH(A3),1) 月初 =DATE(YEAR(A3),MONTH(A3)+1,1)-1 月末 で出せる日付のことでしょうか。 2004/4/5 2004/4/1 2004/4/30 2003/5/1 2003/5/1 2003/5/31 2004/12/31 2004/12/1 2004/12/31 もし上記A3セルに当たるところが、文字列なら、日付(シリアル値)に直して上記を考えるべきです。 文字列のままいじくるのはどうかと思う。

その他の回答 (5)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

こんにちは。maruru01です。 E3=12の場合に対処する別案です。 元の数式に近い形です。 至の方を、 =VALUE(MOD(E3,12)+1&"/1")-1 にします。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

E3&"/1"で"1/1"のような日付の文字列表示になります。VALUEで数値化すると日付のシリアル値に変換されますので、 表示形式を日付にすることで「平成__年__月__日」の表示が可能です。 注意:E3=12の場合、1月12日に変換されます。 こちらの数式なら大丈夫 自=DATE(YEAR(TODAY()),E3,1) 至=DATE(YEAR(TODAY()),E3+1,0)

  • Poer
  • ベストアンサー率45% (72/157)
回答No.3

(#2の訂正です)   「38534」に当たる日付である、「6/30」が出てくるわけです。   →「38533」に当たる日付である、「6/30」が出てくるわけです。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.2

 E3に「6」と入力すると、「=E3&”/1”」 の値は、「6/1」となります。これは、E3に入力されている「6」という値と、「/1」という文字列をつなげて表示しなさいという命令だからです。  さて、これにVALUE(数値)という関数を付け加えると、「38504」と表示されますね。この数字が何を意味するのかを考えてみましょう...。  試しに任意のセルに「6/1」と打ってみてください。自動的に日付だと認識され、さらに今の年数(2005)が付加され、「2005/6/1」と認識されます(表示形式を年数の出るものにするとそれが確認できます)。  エクセルの日付は、「1990/1/1」を1として、一日ごとに1が可算されるように認識されています。「2005/6/1」はその日から38503日経過しているので、数字で表すと「38504」になります。  つまり、「=VALUE(E3&"/1")」という関数は、「E3にある「6」と、「/1」という文字をつなぎ合わせたもの(=2005/6/1)を数値(VALUE)として認識し、表示しなさい。」という意味です。さらにこれの表示形式を「平成...」にする(数値を日付として表示しなさいという命令を掛ける)わけですから、「平成17年6月1日」が表示されるわけです。  また、「=VALUE(E3+1&"/1")-1」は、「7/1」を数値(38534)にして1を引きなさいということなので、表示形式を日付にすると、「38534」に当たる日付である、「6/30」が出てくるわけです。  「7/1」という文字列から1を引くことはできません。だから、一度「7/1」を「38534」という数値に変えて1を引き、表示形式でまた日付に戻すわけです。  少し長い説明になりましたが、分かりにくければ申し訳ありません。  え、もっと簡単な方法ですか?あったらすごいですね。知りたいです。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.1

E3の値を7だとすると >=VALUE(E3&"/1") の中の E3&"/1" は "7/1" と等価になります。 すなわち"7/1" と入力し、日付指定したのと同じです。 e3の値は月(7)を表しており >VALUE(E3+1&"/1")-1 の場合は、"8/1"-1 = "7/31" e3の月最終日を表す事になります。 e3に入れた月の初日(1日)と最終日(31日)を自動的に算出できる 非常に良い式だと思います。 >また、もっと簡単な方法 ありましたら教えて下さい。