SUMPRODUCT関数を使った条件分岐ができない
エクセル2010を使っておりますが、IFとSUMPRODUCTを使った関数のことで伺います。
旅費の精算をしておりまして、I列に氏名、J列に出発日、K列に到着日が入っております。
(1行と1つの出張について入力してあります)
同じ氏名で、他の出張と出発日又は到着日が一部、又は全部重なる場合は「重複」、帰ってきた翌日から出張の場合は「連日」、両方の条件を満たすときは「重複、連日」と表示されるようにしたく、以下の関数式を組みました。
しかし、「重複、連日」と「連日」がうまく表示されません。
連日に関しては、I列に氏名が複数入力されていれば表示されてしまいます。
どこをどう直せば、意図するように表示されるのか、教えていただけないでしょうか。
長文の関数で大変申し訳ないのですが、よろしくお願いいたします。
=IF(AND(SUMPRODUCT((I$6:INDEX(I:I,1000)=I6)*(J$6:INDEX(J:J,1000)<=K6)*(K$6:INDEX(K:K,1000)>=J6))>1,OR(SUMPRODUCT((I$6:INDEX(I:I,1000)=I6)*(K$6:INDEX(K:K,1000)=J6-1))>=1,SUMPRODUCT((I$6:INDEX(I:I,1200)=I6),(J$6:INDEX(J:J,1200)>=K6+1))>=1)),"重複、連日",IF(SUMPRODUCT((I$6:INDEX(I:I,1000)=I6)*(J$6:INDEX(J:J,1000)<=K6)*(K$6:INDEX(K:K,1000)>=J6))>1,"重複",IF(SUMPRODUCT((I$6:INDEX(I:I,1000)=I6)*OR((K$6:INDEX(K:K,1000)=J6-1),(J$6:INDEX(J:J,1000)>=K6+1)))>1,"連日","")))
お礼
ご回答ありがとうございます. 現在は A:A のように列(行)全体を指定しておりますので,1)の方法を試してみたいと思います. もしもSUMPRODUCT以外の関数でも同じことが出来るのでしたら,そちらもご教示ください. 2)の補助列方式というのは,ひとつのセルに計算式を詰め込むと複雑になるので計算にワンクッション置くということでしょうか? 3)では条件を満たすものだけを表示させることができるようですが,該当数は目視で確認することになるのでしょうか? これらの点についても,もう少し具体的なやり方をお教えいただければ幸いです.
補足
1)の方法でかなりの改善がみられましたので締め切らせていただきます. ご回答ありがとうございました.