- ベストアンサー
Excel : 先月の年と月
(現在 TODAY() から見て、) 先月の年と月をそれぞれ関数で表すにはどうすればいいでしょうか。最終的には、2006-6という形にしたいのです。 もちろん、単純に1を引けば、2007年1月の前の月で問題が出ますし、30 (or 31) 日を引けば、2007年3月1日の前の月が2007年1月になってしまったりします。お願いします。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
#01です。無理矢理でいいなら =TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),1)-1,"yyyy") & "-" & TEXT(DATE(YEAR(TODAY()),MONTH(TODAY()),1)-1,"m")
その他の回答 (9)
- imogasi
- ベストアンサー率27% (4737/17069)
>単純に1を引けば、2007年1月の前の月で問題が出ますし、30 (or 31) 日を引けば、2007年3月1日の前の月が2007年1月になってしまったりします。 そうですかね。 2007/7/1 2007/6/1 2007-6 2007/7/21 2007/6/1 2007-6 2007/12/23 2007/11/1 2007-11 2007/1/21 2006/12/1 2006-12 2007/3/1 2007/2/1 2007-2 2007/2/28 2007/1/1 2007-1 2007/4/1 2007/3/1 2007-3 B列は =DATE(YEAR(A1),MONTH(A1)-1,1) C列は =TEXT(B1,"yyyy-m") もちろんB列とC列の関数式を組み合わせることはできます。 >書式ではなく、データを2006-6という形にはできないものでしょうか 値を自分自身のセルに複写すればどうでしょう。 それ以上ならさっき別の質問にもあったが、VBAを使うことになりそう。
お礼
いろいろと勉強になりました。 ありがとうございました。(^^)
- NCU
- ベストアンサー率10% (32/318)
=TODAY()-DAY(TODAY()) 書式「yyyy-m」
お礼
簡単な式で表現できますね。 ありがとうございました。(^^)
- S-Fuji
- ベストアンサー率36% (592/1624)
today()がA1に有るとして、 =TEXT(EDATE(A1,-1),"yyyy-m") で、OK
お礼
EDATEなんて関数、知りませんでした。 勉強になりました。 ありがとうございました。
- salf
- ベストアンサー率42% (27/64)
zap35 さんの答えを応用すればどうでしょう? 1.Year()関数を使用して一月前の年を出す。 2.Month()関数を使用して一月前の月を出す。 3.それを「=Year(一月前を求める処理)&"-"&Month(一月前を求める処理)」の様にして引っ付ける。 これで文字列とマッチングしたら大丈夫だと思われます。 # ありゃ、入れ違いになった。
お礼
これでできました。 ありがとうございました。(^^)
- sakemoni1008
- ベストアンサー率31% (317/992)
=today()のセルをa1として =date(year(a1),month(a1)-1,1)で このセルの書式をユーザー定義でyyyy"-"mと指定して下さい これで如何でしょうか?
お礼
実にシンプルにできますね。 ありがとうございました。(^^)
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =TEXT(DATE(TODAY(),MONTH(TODAY(),-1),"yyyy-m")
お礼
残念ながら、エラーが出てしまいました。 でもありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
=TEXT(TODAY()-DAY(TODAY()),"yyyy-m") では如何でしょうか? =TODAY()-DAY(TODAY()) で前月の末日になります。上記はそれを書式付文字列として変換するものです。
お礼
こういう発想もあるのですね。ありがとうございました。
- salf
- ベストアンサー率42% (27/64)
ヘルプから「日付を加算する 」を確認ください。 それを参考に先月を求めます。 その後書式設定にて「2006-6」のような形へ変更すればよろしいのではないでしょうか。
お礼
ヘルプにも詳しく書かれていますね。ありがとうございました。
- zap35
- ベストアンサー率44% (1383/3079)
=DATE(YEAR(TODAY()),MONTH(TODAY()),1)-1 (当月の一日から1を引くと、前月の末尾) この書式を yyyy-m にするととりあえずできます
お礼
ありがとうございます。 書式ではなく、データを2006-6という形にはできないものでしょうか。 このデータを他のデータとMATCHさせたいのですが、書式だけそうなっていてもMATCHしてくれません。。。
お礼
できました。(^^) ありがとうございました。