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

A1のセルに、例えば 2021/01/01
B1のセルに 2022/04/30

とは言っていた問に、
①A1のほうがB1よりも過去かどうか
②C1に入っている日付が、A1~B1の間にはいっているかどうか

を判定するにはどのような関数になるでしょうか?
正しければ1,適していなかった0という数値で返して欲しいです。

A 回答 (4件)

①=(A1<B1)+0


②=AND(A1<C1,C1<B1)+0
どっちも、"+0"は、TRUEを1, FALSEを0に変換するのに必要なんです。
    • good
    • 0

このご質問において


①A1のほうがB1よりも過去かどうか
という場合、A1とB1が同じ日付だったら過去とは呼ばないですよね?
また、
②C1に入っている日付が、A1~B1の間にはいっているかどうか
という場合、C1がA1と同じ日だったり、C1がB1と同じ日だったら「間に入っている」と考えていいですよね?

一般には②は例えばA1が{2022/10/1」B1が「2022/10/31」であるケース、つまり、今月の月初日から月末日までの範囲を示している場合、C1が「2022/10/1」または「2022/10/31」であっても「今月に含まれる」というと思います。
従ってC1がA1と同日、またはC1がB1と同日であってもC1はA1~B1の間に入っていると解釈するのではないかと思います。
ただし、①のA1とB1が同じ日付の場合、「A1がB1より過去」とは言わないと思います。
A1とB1が同じ日付の場合も含むのであれば「A1はB1以前の日付である」という表現になります。
これらの前提を踏まえて数式を考えるということになります。

既にstomachmanさんが回答しておられますが、①と②を各々別々に判定する場合の回答だと思います。
ご質問の文面からは①と②を別々に判定するのか、同時に判定するのか判りません。
もし、両方の条件を同時に判定し、①または②のどちらかの条件が満たされない場合は0を、①および②の双方の条件が満たされる場合は1を返す
という関数を望んでおられるなら、上記の前提を踏まえると、判定結果を表示したいセルに

=(A1=<C1)*(C1=<B1)*(A1<B1)

という数式を記述すればよいと思います。

なお、別々に判定する場合で、A1≠C1、B1≠C1とするならば、
stomachmanさんの回答にある
②=AND(A1<C1,C1<B1)+0
という数式は
②=(A1<C1)*(C1<B1)
という数式で代用可能です。
    • good
    • 0

多分、別々の条件式のことを聞かれているかと思うので、その前提での話です。



>正しければ1,適していなかった0という数値で返して欲しいです。

このような時のためにN関数がありますから最初の条件式は
=N(A1<B1)
でいいんじゃないかと。

複数条件だと№2さんのように掛けてしまうのがスッキリしていいですね。
    • good
    • 1

こんにちは


IF文で
①=IF(A1<B1,"過去","未来")
②=IF(AND(A1<C1,C1<B1),"期間","期間外"
過去が正しい場合は過去を1にして下さい。未来を0にして下さい。
ダブルクオーテーションの中は文字列を表します。→”文字になります。”
    • good
    • 0

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