- ベストアンサー
月数計算のエクセル関数について
- エクセル上で請求書の作成を行う際、請求対象月を各請求書ごとに記載する必要があります。
- 現在の月とそこから+-する数字だけで何月分かを簡単に計算する数式を教えてください。
- IF関数を使用して年の変更による計算のバグを修正しようとしましたが、うまくいきませんでした。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 > =DATE(YEAR(A1),MONTH(A1)+B1(⇒各クライアントごとの請求書発行月からの差異の間隔をあらわす数字1月発行で12月が対象月だった場合、-1と記載し、 > 逆に1月発行で請求対象月が3月だった場合は+2と記載),1)を入れてみたのですがうまくいかないのですがこの場合はどうしたらよいのでしょうか? 日付計算をする時にはA1の請求書発行月が、シリアル値になっている必要が有ります。 A1に請求書発行月(例:2009/01/01 の様に日付までちゃんと入った日付であること。1日で有る必要は無し) B1に発行月からの差異(例:-1 あるいは 2) =DATE(YEAR(A1),MONTH(A1)+B1,1) これで、2008/12/01 あるいは 2009/3/1 の日付を得る事ができます。 これでどうでしょう。
その他の回答 (3)
- okormazd
- ベストアンサー率50% (1224/2412)
次の関数で何ヶ月か前またはあとの月の最終日を求められます。 =EOMONTH(基準日,前またはあとの月数) で、このセルの書式をユーザー設定で「m」にしておけば、月を表示します。 今日から1ヶ月前の月の最終日 =EOMONTH(TODAY(),-1)→2008/12/31→12 今日から1ヵ月後のつきの最終日 =EOMONTH(TODAY(),1)→2009/2/28→2 基準日はセル参照もできます。
- tom04
- ベストアンサー率49% (2537/5117)
請求書を出す日にちにもよりますが、先月分の請求書を書くために 月の表示を先月にしたいということだと解釈して回答させていただきます。 一つの案ですが・・・ 月を表示させるセルに=TODAY()-28 とすれば、先月の月が表示されると思います。 (2月のことを考えて、-28としてみました) ただし、この場合29日以降に請求書を作成されますと、今月の月になりますので ご注意を! 尚、セルの表示形式はユーザー定義からm"月"を選び、"月"を削除して「m」だけにすれば月の数字だけが表示されます。 見当違いの回答なら、軽く読み流してください。m(__)m
- mt2008
- ベストアンサー率52% (885/1701)
ちょっとイメージがわかないので外しているかもしれませんが、A1に基準となる現在の日付が入っていて、その前の月を求めたいのでしたら。 =DATE(YEAR(A1),MONTH(A1)-1,1) これで良いかと。
補足
ご回答頂き本当にありがとうございます。 説明の仕方が悪かったので、もう少し説明をさせていただくとエクセルで請求書のリストを作成していて、1列1クライアントというようになっています。 そして、マクロが組んであり1枚1枚エクセルシート内のボタンを押すと別シートに請求書1枚のデータがでてきて、印刷をするというような仕組みになっております。 そこで問題となるのが、請求書の発行日付が同じでも、請求をする対象月がクライアントごとに違うので、 =DATE(YEAR(A1),MONTH(A1)+B1(⇒各クライアントごとの請求書発行月からの差異の間隔をあらわす数字1月発行で12月が対象月だった場合、-1と記載し、逆に1月発行で請求対象月が3月だった場合は+2と記載),1)を入れてみたのですがうまくいかないのですがこの場合はどうしたらよいのでしょうか? 何度も申し訳有りません。