重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

アンケートで6ケタで回答してもらった年月(例:201012)の2つの数値を計算して、差を月数で出したいのですが、どのようにしたら良いでしょうか?

 例えば、下記のA-Bの差を月数で出したいのですが、どのような関数(あるいは方法)を使えば良いか教えてください。

例)  年月
A 201012
B 200511

A 回答 (5件)

文字列でも数値でも、文字列が数値に変換できるものなら、次でOKのはず。


A1,B1にデータがあるとする。負になればB1のほうが大きいだけ。
=(INT(A1/100)-INT(B1/100))*12+MOD(A1,100)-MOD(B1,100)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
こちらで計算してみようと思います。
ありがとうございます。

お礼日時:2010/12/09 17:22

 Excelのバージョンによっては、LEFT関数やRIGHT関数で数値データを処理すると、数値データではなく、文字列データとして扱われてしまう事があり、その場合には、そのままでは計算出来ない場合もあり得ます。


 ですから、もし、ANo.2様の数式で上手く計算出来ない様な場合には、次の数式を試してみると良いと思います。

=(FLOOR(B1,100)-FLOOR(A1,100))*0.12+MOD(B1,100)-MOD(A1,100)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
アンケート収集の時に半角英数で回答してもらうつもりですが、もし文字列データとなってしまった場合はアドバイスいただいた件を試してみます。

お礼日時:2010/12/09 17:11

#1さんのDATEDIF関数ですが、バグがあって「経過月数」の計算が正しくない事があるんです。

式をテストしたわけじゃないので何とも言えませんが、条件的に引っ掛かりそうな気がします。実際にお使いになる場合は、以下のurlを確認された方が良いと思います。
http://www.niji.or.jp/home/toru/notes/50.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
確認してみます。

お礼日時:2010/12/09 17:08

このデータはどこにどんな形で入っているんですか?



とりあえずExcelシート上で、セルA1とセルB1に、A1の方が必ずB1より後、という形で入っているとするならば。

=(LEFT(B1,4)-LEFT(A1,4))*12+RIGHT(B1,2)-RIGHT(A1,2)

日付シリアルなどを使わずに、単純に前半の差を12倍して、後半の差に足すだけでオッケーの筈です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
上記の計算式で行うと、回答は-(マイナス)で出てきてOKですか?

お礼日時:2010/12/09 17:07

一例です。


=DATEDIF(TEXT(B1,"0000!/00")*1,TEXT(A1,"0000!/00")*1,"m")
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。
きちんと月数で出てきました。

お礼日時:2010/12/09 17:01

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