• ベストアンサー

エクセル 関数

文字列で入力されている数字に1をたした数を 参照させたいのですがどうすればいいのでしょうか? A1のセルに1月と文字列で入っていた場合 次のA2のセルに2月と反映される式をA2に いれたいのですが・・。 関数でもVBAでもいいのですが方法はありますでしょうか? 数字だけだと反映されるのですが月が入ってしまうと どうもうまくいきません。

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.5

> これをVBAで使用したいのですがどう表現すればいいのでしょうか? VBA?で、式を作成し、表示形式を自動的に決定するということ? Sub Macro() '書式設定 ActiveCell.NumberFormatLocal = "[DBNum3] m""月""" '上のセル参照する式を参照する式を作成します ActiveCell.FormulaR1C1 = "=DATE(YEAR(R[-1]C),MONTH(R[-1]C)+1,1)" End Sub こんな感じ? で、あくまで回答ではなく、参考意見ね

maki06
質問者

お礼

なるほど。 ありがとうございます。

その他の回答 (4)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

質問に対しての答えではないですが・・・。 A1セルを 2006/01/01 の日付にして、表示形式を [dbnum3]m"月" または m"月" にする。 A2セルで =DATE(YEAR(A1),MONTH(A1)+1,1) で、関数を使用し、表示形式をA1セルと同じものにする。 と言うのは、どうでしょう? 後で参照などを使用することがあれば、その方が応用が利きます。 とりあえず、回答ではないので参考で・・・。

maki06
質問者

補足

ありがとうございます。 実は一番やりたいこいことに近い回答なのですが とりあえず簡略化して初めに質問してみました。 これをVBAで使用したいのですがどう表現すればいいのでしょうか?

  • stpira
  • ベストアンサー率0% (0/1)
回答No.3

1月、2月・・・ の数字部分は全角でなくてはならないのでしょうか? 1月、2月・・・ のように数字部分が半角でよいのなら、[セルの書式 設定]→[表示形式]を「ユーザー定義」にして、「0"月"」等を指定す れば、ごく一般の計算式「=A1+1」でも大丈夫ですね。 但し、セルの実際の値は、文字列「2月」でなく数値「2」ということに なります。

  • you192976
  • ベストアンサー率26% (6/23)
回答No.2

A1セルの右下にマウスポインタを持っていくと黒く変化しますよね? そのままA2のセルまでドラッグすれば、勝手に2月と反映されますよ。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

文字は「月」だけですよね?でしたら =LEFT(A1,LEN(A1)-1)+1 こいつで+1出来ますけど。

関連するQ&A