こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

シリアル値を月の数値に変換

エクセルで、計算を簡単にするため、シリアル値を月の数値でデータをもつにはどうしたらいいでしょうか。

通常、エクセルのシリアル値から月の部分を抜き出す場合、Month関数を使用するかと思います。

month関数を使用しても、表示は1、2などの数字に見えますが、実際のデータはシリアル値となっています。

そのため、例えば、a1のセルに3/1というデータがあるときに、
=month(a1) のような関数を作成すれば、3月の3が表示されます。

そして、
=month(a1)+1 としても、データはシリアル値のため4にはならず、表示は3(=3月)のままです。

できれば、表示だけではなく、計算を簡単にするために、データでもシリアル値ではなく、この例でいえば3のように月の数値にしたいのですが、どうしたらいいでしょうか。

よろしくお願いします。

投稿日時 - 2016-10-15 17:44:38

QNo.9243046

困ってます

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

>そのため、例えば、a1のセルに3/1というデータがあるときに、=month(a1) のような関数を作成すれば、3月の3が表示されます。
MONTH関数は日付のシリアル値から月の数値を取り出しますので例では数値の3が帰ります。

>そして、=month(a1)+1 としても、データはシリアル値のため4にはならず、表示は3(=3月)のままです。
数式を設定したセルへは数値の4が帰るはずです。
=MONTH(A1)+1 → 3+1 → 4
A1セルは参照されるだけなので変化しません。

>できれば、表示だけではなく、計算を簡単にするために、データでもシリアル値ではなく、この例でいえば3のように月の数値にしたいのですが、どうしたらいいでしょうか。
あなたの勘違いではないでしょうか?
日付のシリアル値は1900/1/1を1とした経過日数です。
例えば、2016/3/1は数値の42430です。
3/1の月MONTH関数で取り出した結果を日付のシリアル値として評価すると1900/1/3になります。

投稿日時 - 2016-10-15 18:28:35

補足

すいません、おっしゃる通りです。

ただ、実際の作業は、
a/1のせるに、3/1
b1のセルに、 =month(a1)
c1のセルに、 =b1+1
とすると、c1のセルは、4ではなく、3になってしまいます。

投稿日時 - 2016-10-15 20:24:34

お礼

すいません、理由がわかりました。書式をm"月"表示していたからです。

#,##0”月"表示に変えたらうまくいきました。

ありがとうございます。

投稿日時 - 2016-10-15 20:29:52

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問