こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル Ifで、真の場合は前月の年月を表示、偽の場合は"本日"と入力

エクセル Ifで、真の場合は前月の年月を表示、偽の場合は"本日"と入力したい。

J3セルにDateと入力された状態で、A1セルに、Ifとして、B1セルの値がAAAなのかBBBなのかによって、AAAの場合は、J3を参考にして、前月の年月を表示する。
BBBの場合には、本日と表示したい。

If関数で真の場合の欄に関数式を入れてみたがうまくいかない。
単純に表示するだけなら、
セルに=DATE(YEAR(J3),MONTH(J3)-1,DAY(J3))と入力し、表示形式をユーザ定義の年月表示にすることで、できたが、これに条件式を組み合わせて、真の場合にだけ、上記表示がでるようにしたい。

すみませんが、よろしくおねがいします。

投稿日時 - 2010-07-15 10:49:48

QNo.6039754

困ってます

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

一例です。
=IF(B1="AAA",DATE(YEAR(J3),MONTH(J3)-1,DAY(J3)),IF(B1="BBB",TODAY(),""))

投稿日時 - 2010-07-15 14:00:55

お礼

できました~~~!ありがとうございます。応用して、来月表示とかもできました。勉強になりました(^^)

投稿日時 - 2010-07-16 00:35:45

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

こんにちは!
外していたらごめんなさい。

B1セルには「AAA」もしくは「BBB」のどちらかが入るという前提です。

A1セルの表示形式をユーザー定義から yyyy年m月 としておきます。
=IF(B1="","",IF(B1="AAA",EDATE(J3,-1),"本日"))

もしくは「本日」の部分が 本日の年月を表示したいのであれば
=IF(B1="","",IF(B1="AAA",EDATE(J3,-1),TODAY()))

という数式を入れてはどうでしょうか?

尚、EDATE関数を使用するに当たり、当方使用のExcel2003以前のバージョンでは
メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があると思います。

以上、参考になれば良いのですが
的外れであってり、他に良い方法があれば
読み流してくださいね。m(__)m

投稿日時 - 2010-07-15 11:11:15

お礼

回答ありがとうございます!エクセルが古い(2002)せいか?このほうほうではうまくできませんでした・・。せっかく早々と回答してくださったのに、すみません。こんど、エクセルを最新のものに変えたときにはぜひ参考にさせていただきたいとおもいます。今回は、No2さんの方法でできたので、そちらをベストアンサーに選ばせていただきました。また、よろしくおねがいします、ありがとうございました。

投稿日時 - 2010-07-16 00:34:06

あなたにオススメの質問