[[20160616215411]] 『DATEIF関数 期間を含む複数条件を指定し値をかえ』(偏頭痛) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『DATEIF関数 期間を含む複数条件を指定し値をかえす』(偏頭痛)

【目的】条件に従いポイントを付けたリストを作りたい
【現状】マクロ・VBAは不勉強 関数で試行錯誤中

≪条件≫
開始        1P
評価○+開始1年未満  2P
評価○+開始1年以上+その翌月 3P

	 B	  C    D	    E	 F
2	開始日	  評価 2016年4月 2016年5月 2016/6/30
3	2015/5/1   ○	  2P	   2P	 3P
4	2015/5/25	  1P	   1P	 1P
5	2015/5/31   ○	  2P	   2P	 2P

【経過】IF関数、DATEIF関数、AND関数を使い、入力してみるが本来”3P”となるはずのF5セルに”2P”と表示されてしまいます。

【B5に入れた関数】
=IF(AND(DATEDIF($B5,$F$2,"m")>12,$C5<>""),$K$5,IF(AND(DATEDIF($B5,$F$2,"y")<=1,$C5<>""),$K$4,$K$3))

”3P”の条件である、2つの条件を満たした”翌月”という部分が上手くいきません。

F3セルの方は”3P"の表示出たのですが、月末の5/31開始だと”2P”になってしまいます。例えば閏年をはさんだらそれも上手く表示されない気がします。

何か良い方法ないでしょうか?
お知恵を貸していただけると幸いです。よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 こんばんわ。

 なんで4月と6月は月までの表示なのに6月だけ30日まで表示してるんですか?

 日付単位で比較するんですか?

 それとも月単位で比較するんですか?

 提示のレイアウトが上記の理由が不明瞭なので、最終的にどのパターンの時にどうするかが分かりません。

(sy) 2016/06/16(木) 23:35


 上記の質問事項が分からないので、推測での回答です。

 D3 =IF($C3="","1P",IF(EOMONTH($B3,13)<=EOMONTH(D$2,0),"3P","2P"))
 必要数下右にフィルコピー

(sy) 2016/06/16(木) 23:42


こんばんわ。
返信有難うございます。

4月5月の表記は表示ミスでした。申し訳ありません。
D2・E2セルの中身は2016/4/30・2016/5/31となっております。

DATEIF関数の中で使用しております。
日付が月末になっているのは、DATEIFを使う際に月初の日付を入力すると上手くいかなかった為です。

最終的には条件に従い月毎に何ポイントなのかが出てくる表を作るのが目的です。

分かりづらい質問に回答してくださって本当に有難うございます。
回答していただいた関数で上手く表示が出ました!

EOMONTHという関数を初めて知りました。
教えていただいた関数で勉強してきます。

大変助かりました。
お礼申し上げます。
(偏頭痛) 2016/06/17(金) 00:08


 syさんとそない変わりませんが。

 =(C3="○")+(EOMONTH($B3,13)<=D$2)+1&"P"
 
 
(GobGob) 2016/06/17(金) 08:24

 まちがいw

 =($C3="○")*((EOMONTH($B3,13)<=D$2)+1)+1&"P"
 
(GobGob) 2016/06/17(金) 08:44

(GobGob)さん

回答有難うございます。
早速試してみました。

FALEとTRUEに四則演算を使うと1と0で計算できるのですね。
こういうやり方もあるのかと大変参考になりました。

お礼申し上げます。
(偏頭痛) 2016/06/17(金) 11:10


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.