アプリ版:「スタンプのみでお礼する」機能のリリースについて

 請求書の作成をエクセルで行おうとしているのですが、請求対象月を各請求書ごとに記載しなければなりません。現状では月が変わるとある一箇所だけ月数を変えてその月から+1したり-1したりしているのですが、年が変わってしまい12月分の請求書を作らなくてはならないのに-1をすると0月分とでてしまいます。12月のときも+1したら13月とでたところを手作業で修正しました。そのようなことがおきないように下記のようなIF関数を書いたのですが、FALSEとでてしまいうまくいきません。

年をこせる関数を現在の月とそこから+-するための数字だけで何月分と簡単にでてくるような数式ってどうやって書けばいいのか教えてください。





=IF(A9<=0,A9+11,IF(0<=$A$9<=12,A9,IF(13<=CZ9,CZ9-12)))

A 回答 (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 の日付を得る事ができます。

これでどうでしょう。
    • good
    • 0

次の関数で何ヶ月か前またはあとの月の最終日を求められます。


=EOMONTH(基準日,前またはあとの月数)

で、このセルの書式をユーザー設定で「m」にしておけば、月を表示します。
今日から1ヶ月前の月の最終日
=EOMONTH(TODAY(),-1)→2008/12/31→12
今日から1ヵ月後のつきの最終日
=EOMONTH(TODAY(),1)→2009/2/28→2

基準日はセル参照もできます。
    • good
    • 0

請求書を出す日にちにもよりますが、先月分の請求書を書くために


月の表示を先月にしたいということだと解釈して回答させていただきます。
一つの案ですが・・・
月を表示させるセルに=TODAY()-28
とすれば、先月の月が表示されると思います。
(2月のことを考えて、-28としてみました)
ただし、この場合29日以降に請求書を作成されますと、今月の月になりますので
ご注意を!
尚、セルの表示形式はユーザー定義からm"月"を選び、"月"を削除して「m」だけにすれば月の数字だけが表示されます。

見当違いの回答なら、軽く読み流してください。m(__)m
    • good
    • 0

ちょっとイメージがわかないので外しているかもしれませんが、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)を入れてみたのですがうまくいかないのですがこの場合はどうしたらよいのでしょうか?

何度も申し訳有りません。

補足日時:2009/01/23 09:40
    • good
    • 0

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