重要なお知らせ

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

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

タイトルの件、質問いたします。

2013-01 という数字から、8 という回答を求める関数を知りたい
8とは、2013年1月から、2013年8月までで、8ヶ月という意味です。

欲しい、関数は下記のようなイメージです

下記のデータより8月までの月数を求めたい
データ    関数による回答
2013-01   8
2013-07   7
2012-12   9

以上、ご存知の方、いらっしゃいましたら、宜しくお願いします。

A 回答 (4件)

>2013-01 という数字から、8 という回答を求める関数を知りたい


>8とは、2013年1月から、2013年8月までで、8ヶ月という意味です。
前提条件としてA1セルに日付の2013/1/1がシリアル値で保存されていることとして、B1セルに計算式を以下のように入力します。

=DATE(2013,8,31)-A1

B1セルの書式はユーザー定義を新たに作成して m とします。
A2セルにはA1セルと同様に2013/7/1が、A3には同じく2012/12/1が保存されているとします。
B1セルをB2とB3にコピーすれば目的の結果が得られます。
これはあくまでも表示だけが8、2、9となるだけで計算結果の値は262、61、273と言うシリアル値です、

シリアル値の8、2、9と言う結果が欲しい場合は次の式を使ってください。

=MONTH(DATE(2013,8,31)-A1)

貼付画像のC列は後者の計算式を適用しました。
「【エクセル】2013-01から10と求め」の回答画像3
    • good
    • 0

=12*(2013-year(a1))+8-month(a1)+1



この数式を記入したセルの書式が「yyyy-mm」になってしまうことがあるので、必ず、「0」などの別の書式に変更。
「【エクセル】2013-01から10と求め」の回答画像4
    • good
    • 0

A1セルに「2013-01」入力されているなら、B1セルに以下の式を入力します。



=IF(A1="","",DATEDIF(A1,"2013/8/1","m")+1)
    • good
    • 0

こんばんは!



>2013-01
というのはセルの表示形式がユーザー定義から
yyyy-mm
となっていて、入力は2013-01 のような入力方法だとします。
(シリアル値になっているという前提)
そしてA列日付から今年の8月までの月数(A列の月を1月目とする)を求めたいという解釈です。

データはA1セルからあるとして、
B1セルに
=YEAR("2013/8/1")*12+9-(YEAR(A1)*12+MONTH(A1))
という数式を入れオートフィルで下へコピーしてみてください。

※ この解釈では2行目の
>2013-07
は「7」ではなく「2」になってしまいますが、
解釈が間違っているのでしょうかね?m(_ _)m
    • good
    • 0

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

今、見られている記事はコレ!