ここから本文です

エクセル関数を教えていただきたいです。 ①期限 11/22 ②28日前期限 セルA1 1...

ver********さん

2019/5/1510:22:01

エクセル関数を教えていただきたいです。

①期限
11/22
②28日前期限 セルA1
10/25
③完了日 セルA2

をエクセルで入力して、
③完了日が②28日前期限より前だと○、後だと×になるように

したいです。

②もそのまま手打ちしておらず、
①-28となるような数式が入っています。

前任者が以下の数式を使っていたみたいですが、日付をどう入れても×になります。

=if(A2=0,””,IF(A1=””,””,IF(A1>=A2,”○”,IF(A1<=A2,”×”)))

演算子<>や○×の位置を入れ替えると、今度はすべて○になります。

正しい数式がわかる方教えていただけますでしょうか。。
よろしくお願いします。

閲覧数:
17
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

gru********さん

2019/5/1511:15:56

A1>=A2 がFALSEなら A1<A2 に決まってるので、

=if(A1>=A2, "○", "×")

が根本であとは蛇足に過ぎません。せいぜい「完了日が未入力もしくは空文字列なら判定しないで空文字列でも返しとけ」として

=if(A2="", "", if(A1>=A2, "○", "×"))

てなくらいです。これでA2にどんな日付を入れてもA2の方が大きいとされる原因は、

・参照している期限がそもそも遥かな過去(1900年とか)である
・A1の計算過程がもっとおかしくて遥かな過去の日付になってる

あたりが想定されますね。期限のセルを選択したときの数式バーでの表示とA1の数式を、確認しましょう。

質問した人からのコメント

2019/5/15 17:53:07

仰る通りでした!
A1セル内は2015年になっててA2は2019年になっていました。。
本当にありがとうございましたm(._.)m

ベストアンサー以外の回答

1〜1件/1件中

hag********さん

2019/5/1510:38:54

セルA1 に28日前期限として 10/25
セルA2 に完了日 たとえば 10/10
であれば正しく「○」になりますよ

セルA2 に完了日が 10/30
ならば「×」になります。

もしかすると表示されていませんが、年が違っていませんか。
期限、28日前期限は2018年、完了日は2019年とか。




もし、式を整理するなら
=IF(OR(A2=0,A1=""),"",IF(A1>=A2,"○","×"))

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる