[[20190216183350]] 『日付に纏わる複数条件』(aska) ページの最後に飛ぶ

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

 

『日付に纏わる複数条件』(aska)

初歩的な質問だと思うのですが、分かる方がいれば助けてください。

2つの日付があって、いずれかが今日を過ぎている場合で、
かつ別のセルに特定の文言(「終了済」)が入っていない
行をチェックしたく、下記の関数を考えてみたのですが、
うまく行きません。

   A        B          C      D      E
1作業中  2019/2/10  2019/4/1   ○  today関数
2終了済  2019/1/30  2019/2/1   ○
3作業中  2018/12/31 2019/2/1   ×
  ・
  ・

Dの列に、
=IF(OR(B1>$E$1,C1>$E$1),“○”,IF(A1=“終了済”),“○”,“×”))

といれてみたのですが、うまく行きません。。

ちなみにABCの列はvlookで引っ張ってます。

何卒よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 あってます様に!パンパン
=IF(OR(MAX(B1:C1)>$E$1,A1="終了済"),"〇","×")
(SoulMan) 2019/02/16(土) 18:57

 >2つの日付があって、いずれかが今日を過ぎている場合で、 
 >かつ別のセルに特定の文言(「終了済」)が入っていない行

 で、その例だとどの行が ○ になればいいんですか?

 以上、確認だけ
(笑) 2019/02/16(土) 19:33

D列に返したいのです。
(aska) 2019/02/16(土) 19:41

SoulManさんありがとうございます!

しかし、うまく返りません。。。
日付の大小がうまく返っていないようです。
(日付が今日以前でも×で返ります)
(aska) 2019/02/16(土) 19:47


 =IF(AND(B1<$E$1,C1<$E$1,A1="作業中"),"×","○")
。。。想像ですが
ご希望の結果は↑なのでは。。。。。。まちがっているかな?( ̄▽ ̄;)
。。。ご説明とはかなり相違しますが
SoulManさん,はご説明の通り書いておられるのでは。。。
m(_ _)m
(隠居じーさん) 2019/02/16(土) 19:50

 >D列に返したいのです。

 それは分かってます。
 例示の表、D1・D2・D3のどれが ○ になればいいんですか?と訊いてるんです。

 以上です
(笑) 2019/02/16(土) 19:54

D1,D2が〇になればいいのですが・・・
(aska) 2019/02/16(土) 20:09

確かに、どれが〇になればいいのかの説明がありませんでした。すいません・・・
(aska) 2019/02/16(土) 20:10

隠居じーさんさんありがとうございます!

SoulManさんの関数であっているはずなのですが、
今日より後でも×で返ってしまいます。

Vlookで引っ張った日付や、today関数で引っ張った日付は関数では使えない。。。とかそういう事はありませんでしょうか・・・?

(aska) 2019/02/16(土) 20:10


 ↓として配列にしてみますぅ??
=IF(OR(MAX((B1:C1)*1)>$E$1,A1="終了済"),"〇","×")
(SoulMan) 2019/02/16(土) 20:22

 F9でB1:C1の中身を見てみて下さい
=IF(OR(MAX(({43506,43556})*1)>$E$1,A1="終了済"),"〇","×")
(SoulMan) 2019/02/16(土) 20:27

 私のはまちがってたみたいですね。。。^^;
すみませんでした。
めげずに勉強致します( ..)φメモメモ
m(__)m
(隠居じーさん) 2019/02/16(土) 20:42

 いやいや、、私もおおぼけの連続ですから、、ふぁいっとぉ〜〜です。(^^;
(SoulMan) 2019/02/16(土) 20:47

 >D1,D2が〇になればいいのですが・・・

 どういう場合が ○ なんですかね?

 A列が「終了済」か
 またはB列・C列の日付のどちらか(または両方)が今日より後の場合ってこと?

 >=IF(OR(MAX((B1:C1)*1)>$E$1,A1="終了済"),"〇","×")

 ↑ 何のために「*1」してるんですかね?
 それと、その 〇 は丸印じゃないです。漢数字のゼロです。

 以上
(笑) 2019/02/16(土) 20:54

 いづれにしても私の計算式は没ですが。。。^^
一つだけ教えて下さい。
表示メッセージから推測するに。
B列(開始日)〜C列(終了日)で、今日の日付(E1)が、その期間内かどうかの表示(A列)を
調べておられるのではないのでしょうか。
(隠居じーさん) 2019/02/16(土) 21:02

 >=IF(OR(B1>$E$1,C1>$E$1),“○”,IF(A1=“終了済”),“○”,“×”)) 
 >といれてみたのですが、うまく行きません。。

 ↓ でうまくいかなかったってこと?
 =IF(OR(B1>$E$1,C1>$E$1),"○",IF(A1="終了済","○","×"))

 具体的に、A列が何で、B・C列がどんな日付の場合に、どうなってしまったんですか?

 それと日付は開始日と終了日?
 だったら、終了日が今日より後かどうかだけみればいいってことですか?

 >今日より後でも×で返ってしまいます。 
 >Vlookで引っ張った日付

 日付が文字列の可能性もあるんですかね?

 どこか空いた列に =COUNT(B1:C1) と入れて、下にコピーしてみてください。
 B・C列に日付が入っている行は全部「2」になりますか?

 以上
(笑) 2019/02/16(土) 22:22

B列(開始日)〜C列(終了日)で、今日の日付(E1)が、その期間内かどうかの表示(A列)を
調べておられるのではないのでしょうか。

→すいません、B列とC列の間に関係性は全くありません。全く独立に入力される日付です。

どこか空いた列に =COUNT(B1:C1) と入れて、下にコピーしてみてください。

 B・C列に日付が入っている行は全部「2」になりますか?
→「0」になります…
(aska) 2019/02/16(土) 22:48

>皆様

別セル(F,G列)に、B、C列を=valueでコピーして、

=IF(OR(MAX(F1:G1)>$E$1,A1="終了済"),"〇","×")

というSoulManさんの関数で、やりたかったことができました・・・!

(笑)さんのコメント通り、日付で認識されていなかったようです。

皆様のコメントのお陰です、ありがとうございました!
(aska) 2019/02/16(土) 23:00


 作業列を使わなくても ↓ でできませんか?

 D1 =IF(OR(A1="終了済",B1*1>$E$1,C1*1>$E$1),"○","×")

 というか、VLOOKUPが参照している表の日付が文字列になってるということですよね?
 そっちを日付データにする方がいいと思いますけど・・・

 参考まで
(笑) 2019/02/16(土) 23:11

作業列を使わなくても*1を入れることでできました!
ありがとうございます!

元データを日付にする方法も試してみます!

ありがとうございました!

(aska) 2019/02/16(土) 23:57


 何度もすみません。

 B列、C列のVLOOKUPの式に「1」を掛けてもいいです。

 =VLOOKUP(……)*1
               ~~
 元データを日付(シリアル値)にするのがベストですけど。

 以上です
(笑) 2019/02/17(日) 00:42

ありがとうございます!vlook*1でできました!

元データは別のシステムから読み込んでいるので、Excel側で
変換する必要がありまして…(^^ゞ
(aska) 2019/02/17(日) 08:24


コメント返信:

[ 一覧(最新更新順) ]


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