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

解決済みの質問

IF条件設定がうまくいきません

下記関数で日付を表示させています
(1)から(3)までは問題なく現在使用していますが
今回の(4)番のところの関数がうまくいきません
ご教授いただけますと助かります、よろしくお願い致します


1.AZ4に年月日「20181001」と任意で入力

2.セルBB4は「AZ4」から条件付き月末日を表示

=IF(AZ4="","",VALUE(TEXT(EOMONTH(TEXT(AZ4,"0-00-00"),IF(RIGHT(AZ4,2)-16<0,2,3)),"yyyymmdd")))


3.セルBA4は下記関数でBB4のデータから月を2桁で抽出表示

=IF(BB4="","",MID(BB4,5,2))

4.セルAY4に「BA4」で得た2桁の月と現在の当月が一致した場合「●」を表示し条件以外は空白とする

=IF(BA4="","",IF(MID(BA4,5,2)),"","",●)  ------ダメです

=IF(BA4=0,"",IF((MID(BA4,5,2))=MONTH(TODAY()),"●","")) ------ダメです

=IF(BA4=0,"",IF(BA4=MONTH(TODAY()),"●","")) ------ダメです

以上よろしくお願いいたします。

投稿日時 - 2018-10-09 14:47:12

QNo.9545846

困ってます

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

>4.セルAY4に「BA4」で得た2桁の月と現在の当月が
当月はMONTH(NOW())なのでは
AY4=IF(MONTH(NOW())=BA4,"●","")
BA4=IF(BB4="","",VALUE(MID(BB4,5,2)))

投稿日時 - 2018-10-09 17:31:05

お礼

ご教授ありがとうございました
大変勉強になりました

無事問題解決いたしました

投稿日時 - 2018-10-09 21:26:52

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

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

回答(5)

ANo.5

お早うございます
シリアル値ご理解するのにしばらく時間がかかると思います。
日付(Today())から日(Day())を引くと前月末日ですね
 前月末日=Today()-day()
従って、翌月の任意の日付からその日を引くと当月末日になります。
この翌月任意の日は月によって28日、29日、30日、31日とあります。
 翌月の任意の日付=If(day(日付)<5,日付+35,日付+28)
当日末日はこの2式を入れ子にします。
 当日末日=If(day(日付)<5,日付+35,日付+28)-day(If(day(日付)<5,日付+35,日付+28))

投稿日時 - 2018-10-10 06:21:17

お礼

ご教授ありがとうございます

投稿日時 - 2018-10-10 07:38:51

ANo.4

今晩は
失礼ながらExcelの日付の概念を理解されていないようです。
エクセルでの日付は1900年1月1からの経過日数です。
しかし自然数ではありません、小数点以下は時、分、秒を含めて
シリアル値と呼んで、時間列として取り扱われています。
従って、1時間=1/24 1分=1/(24*60) 1秒=1/(24*60*60)
因みに2018年10月1日を数値形式で表示すると43374と表示されます
即ち1900年1月1日から数えて43,374日目にあたるということです。

投稿日時 - 2018-10-09 19:27:26

お礼

ご教授ありがとうございました

投稿日時 - 2018-10-09 21:08:15

ANo.3

=IF(BA4="","",IF(MID(BA4,5,2)),"","",●)  ------ダメです
はい、その数式はでたらめなので直しようがありません。

=IF(BA4=0,"",IF((MID(BA4,5,2))=MONTH(TODAY()),"●","")) ------ダメです
はい、BA4にはBB4から月数の2桁切り出しているのでMID(BA4,5,2)は文字がありません。BA4は月数の文字列なので数値化して当月の月数と比較すれば正解です。

=IF(BA4=0,"",IF(BA4=MONTH(TODAY()),"●","")) ------ダメです
はい、上記のようにBA4は文字列なので文字列と数値を比較すると同じになりません。(常に[文字列<>数値]になる)
数値化はVALUE関数で数字のみの文字列を数値化します。
他の方法として数字の文字列に1を乗ずるか0を加算すると数値化できます。

投稿日時 - 2018-10-09 19:05:21

お礼

ご教授ありがとうございました

投稿日時 - 2018-10-09 21:08:46

ANo.1

ステップ4の条件を満足することはあり得ない!
何故なら、『「BA4」で得た』月は「現在の当月」より2、3箇月後なので、一致することがないから。
再考すべし!

投稿日時 - 2018-10-09 15:54:30

あなたにオススメの質問