• ベストアンサー

Excel、年月日から先月の年月を表示したい

a1に2013.10.28と記載されている場合、 b1に2013.9と前の月で、年月のみ表記できるようにしたいのですが、何かいい方法はありませんか? 無理な場合は1ヶ月前の年月日表記でも構いません。(2013.9.28) 宜しくお願い致します。 ※b1はまた別の関数で使用するデータになります。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 まず、B1セルに次の関数を入力して下さい。 =IF(ISNUMBER(1/(YEAR($A1-31)>1904)),DATE(YEAR($A1),MONTH($A1)-1,1),"")  次に、B1セルの書式設定の表示形式を[日付]の 2001年3月 か或いは、 [ユーザー定義]の yyyy"年"m"月" にして下さい。  これでB1セルに前の月の年月のみが表示される様になります。

palmich
質問者

お礼

出来ました。 ありがとうございました。 関数が疎い私には、何故このような式になるのが今一分からない箇所があります。 詳しく教えて頂けると助かります^_^;

その他の回答 (1)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 回答No.1です。  失礼しました、「2013年9月」ではなく「2013.9」と表示させるのでしたら、同じ関数を使って、書式設定の表示形式を[ユーザー定義]の yyyy"."m として下さい。  尚、 >※b1はまた別の関数で使用するデータになります。 という事で、もしも前月の日付を表すシリアル値ではなく、「2013.9」という文字列データが欲しいという事でしたら、セルの書式設定は行わずに、B1セルに入力する関数を次の様なものとして下さい。 =IF(ISNUMBER(1/(YEAR($A1-31)>1904)),TEXT(DATE(YEAR($A1),MONTH($A1)-1,1),"yyyy.m"),"")

palmich
質問者

お礼

ご丁寧にありがとうございました。 シリアス値の方が、今後も使い勝手が良さそうだったので、初めの式にしました。 せっかくなので、文字列データも試したいと思います。

関連するQ&A