プロが教えるわが家の防犯対策術!

こんにちは、いつも大変お世話になっております。

エクセルで日付の入ったセルを数値化したいのですが、
TEXT($A16,"yymm")と言う式で、月数に+1した数値
例えば、A16が2023/3/29なら「2304」となるようにしたいのですが

A 回答 (3件)

EDATE関数を使えば、指定した月数だけ前や後の日付の


シリアル値を返します
 =TEXT(EDATE($A16,1),"yymm")
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。
こんな当方の要求にピッタリの関数があったのですね。

早速エクセルで確認してみたのですが、これは月だけのようですが、年や日用の同様の関数は無いのでしょうか?
この際後学のために教えて頂ければ非常に参考になるのですが。

お礼日時:2023/03/30 09:22

既にEDATE関数を用いた回答がなされていますが、EOMONTH関数を使う方法もあります。



=TEXT(EOMONTH($A16,1),"yymm")

これをご質問者の「月数に1足した数値」という説明のとおりに計算しようとしたものがangkor_hさんの数式だと思います。
日付から年と月を求めて月に1加えるという方法です。

ただ、大変失礼ですが、angkor_hさんの数式
=TEXT(DATE(YEAR(A16),MONTH(A16)+1,DAY(A16)),"yymm")
は正しい値とならないケースがあるように思います。
A16セルが「2023/1/31」のとき「2302」となって欲しいのですが、「2303」となってしまいます。DATE関数を使うのであれば、

=TEXT(DATE(YEAR($A16),MONTH($A16)+1,1),"yymm")

という数式でよいのではないでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
=EOMONTH
これまた当方の要求にピッタリの関数ですね。
調べてみたのですが、EDATEとの違いが良く分かりませんので、どちらも試してみてから今後使い易そうな関数に決めたいと思います。

お礼日時:2023/03/30 09:27

=TEXT($A16+30,"yymm")



これは、一月となる30日を加算しています。
但し、A16の日付と月の長短で、月+1にはならないことがあります。

やはり、月情報を取り出して+1するしかないです。
=TEXT(DATE(YEAR(A16),MONTH(A16)+1,DAY(A16)),"yymm")
    • good
    • 1
この回答へのお礼

早々のご回答ありがとうございます。
上の式は既に試そうとして、ご指摘の不具合に気付いての質問です。

下の式が確実のようですね。

お礼日時:2023/03/30 09:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!