• ベストアンサー

【Excel】年月が入力されたセルから…

Excel2003を使用しています。 A1セルに『平成19年10月』と入力されていて、10月は今期7ヶ月目(4月~3月で1期)ということで、“7”をA2セルに表示させたいのですが、何か良い方法はないでしょうか? 下記のように、置き換えたいのです。   4月 →  1   5月 →  2   6月 →  3       :       :  12月 →  9   1月 → 10   2月 → 11   3月 → 12 よろしくお願いします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 A1がシリアル値なら、このようになるのではないでしょうか? =MOD(MONTH(A1)-4,12)+1

rx-z5815
質問者

お礼

Wendy02 さん、こんにちは。 いつもお世話になっています。 A1は、シート名から取り出した文字列だったのですが、これをシリアル値に変換して、教えていただいた数式を使用したほうが、シンプルで分かりやすいようです。大変参考になりました。 ありがとうございました。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

日付の質問をするもので、セルに文字列が入っているのか、日付シリアル値で入っているのか、明示しないで質問するのが多い。 本件もどちらとも取れる。 A.計算でやる放送 B.VLOOKUPでやる方法 など考えられる。 Bの方法で、日付シリアル値で入っているとすると =VLOOKUP(MONTH(A1),{4,1;5,2;6,3;7,4;8,5},2,FALSE) 省略しているので、8,5のあと3,12まで続けてください。 文字列だと、年月から月を切り出すのが面倒。

rx-z5815
質問者

お礼

回答ありがとうございます。 >B.VLOOKUPでやる方法 日付の質問で、VLOOKUPを使用する方法は、初めて目にしました。 参考になります。 ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 >A1は、シート名から取り出した文字列だったのですが #3の応用としては、こんな裏技がありますね。 =MOD(MONTH((A1&"1日")*1)-4,12)+1

rx-z5815
質問者

お礼

Wendy02 さん、おはようございます。 再度の回答ありがとうございます。 なるほど!な裏技を教えていただき、ありがとうございます! 私は素直に(?)DATEVALUEで、シリアル値に置き換えていましたが、“*1”で済むのですね。勉強になります。 ありがとうございました<(_ _)>

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

安直ですが、次の方法は如何でしょうか。 A列は日付シリアル値でセルの表示形式がggge"年"m"月"とされているとしています。 =IF(MONTH(A1)<4,MONTH(A1)+9,MONTH(A1)-3)

rx-z5815
質問者

お礼

回答ありがとうございます。 私も回答いただいたように、IFで条件分岐して置き換えていたのですが、何か他にも方法があれば参考にさせていただきたいと思った次第です。 ありがとうございました。

回答No.1

「分析ツール」を入れてedate関数を使います。文字列「平成19年10 月」がA1にあるとして、 =month(edate(A1&"1日",-3)) でオッケー。この時month関数の代わりにyear関数を使うと、年度が 出てきますよ。

rx-z5815
質問者

お礼

回答ありがとうございます。 当初、IFで条件分岐して置き換えていたのですが、何か他にも方法があればと思い、質問させていただきました。大変参考になりました。 ありがとうございました。

関連するQ&A