- 締切済み
エクセル dmina関数 条件指定
えてください。 a b c d e g 1 社員コード 出社時刻 退社時刻 売上 社員コード 2 101 7:00 13:00 5000 101 3 102 9:00 14:00 2000 社員コード 4 103 10:00 16:00 5500 102 5 101 17:00 19:00 2000 ・ ・ ・ ・ ・ 一日の社員の出社退社時刻と売上金額の表です 社員は100人ほどいます。 一日に2回出勤する社員もいるので、 一日に2回出勤する社員は、出社時刻の早い時刻と退社の遅い時間を数式で 求めたいと思います。 社員101の出社時刻=dmin(a1:e5,e2,d1:d2)で求めたのですが、 社員102の出社時刻を求める時上の数式をコピーすると、条件セルが(d2:d3) となってしまいます。 条件指定を(d1:d2) (d3:d4) (d5:d6)とコピーしたい場合何かいい方法がありますか? 一行ずつセルを変えていくのは社員が100人ほどなので大変です。 教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
A列が社員コードでB列が出社時刻、C列が退社時刻、D列が売上となってデータが2行目か下方にあるとしたら次のようにしてはどうでしょう。 作業列としてE2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(AND(COUNTIF(A$2:A2,A2)<>1,COUNTIF(A$2:A2,A2)=COUNTIF(A:A,A2)),A2,"")) その上で例えばF2セルから下方には社員コードをダブりなく下方に入力します。 次にG1セルには出社時刻、H1セルには退社時刻、I1セルには売上とそれぞれ文字を入力します。 G2セルには次の式を入力してH2セルまで横のドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX($A:$C,IF(COLUMN(A1)=1,MATCH($F2,$A:$A,0),IF(COLUMN(A1)=2,IF(COUNTIF($E:$E,$F2)=0,MATCH($F2,$A:$A,0),MATCH($F2,$E:$E,0)),"")),COLUMN(A1)+1),"") I2セルには次の式を入力して下方にドラッグコピーします。 =IF(G2="","",SUMIF(A:A,F2,D:D)) このようにすることで出社時刻は最初に出社したときの時刻、退社時刻は最後に退社したときの時刻がそれぞれG列およびI列に表示されます。I列は必要ないかもしれませんね。ご参考になればよいですね。