ID非公開

2021/7/30 6:38

33回答

他店舗同日計算で知恵をお貸しください Excelで給与計算をしており、 関数を組んでいるところですが、 どうしてもうまくいかず…… 同じ日に複数店舗の勤務があった場合のみ、

Excel | Office系ソフトウェア101閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0

ThanksImg質問者からのお礼コメント

BA差し上げるのが遅くなり申し訳ございません。 その店舗以外に出勤した日があれば〜 の観点から見ることは全く想像しておりませんでしたので、数式もシンプルでとても感激しました。 頂いた方法で無事完成させることが出来そうです!この度はまことにありがとうございました!

お礼日時:8/4 23:01

その他の回答(2件)

1

1セルで解決するのはすごい難しそうです。 従業員1名に対してカウントで「フィルターなし」「カウント用のフラッグ有」なら https://youtu.be/ohbnXkMXgZ0 こんな感じかなぁと思います。 店舗2つなら判定列なしでどうにかなりそうですけど。

1人がナイス!しています

1

A1セルに従業員氏名、B1セルに店舗名、C1セルに日付が列見出しが有る表で2行目から下方にデータが有るとします。 ある従業員が同じ日付で違った店舗に勤務した場合の同日勤務回数を求めることにします。 そのためには分かりやすく作業列を作って対応します。 J2セルには次の式を入力してK2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(IF(COUNTIF(A$2:A2,A2)=1,MAX(J$1:J1)+1,INDEX(J$1:J1,MATCH(A2,A$1:A1,0))),"") L2セルには次の式を入力して下方にドラッグコピーします。 =IF(AND(COUNTIFS(A:A,A2,C:C,C2)>1,COUNTIFS(A$2:A2,A2,B$2:B2,B2,C$2:C2,C2)=1),MAX(L$1:L1)+1,"") M2セルには次の式を入力して下方にドラッグコピーします。 =IF(COUNT(J2:L2)=3,SUM(J2*10^2,K2),"") E1セルに店舗名の文字列を、F1セルには次の式を入力して右横方向にドラッグコピーします。I1セルまでのドラッグコピーなので4名の従業員までになりますがそれ以上では作業列をさらに右側の列にずらして対応してください。 =IFERROR(INDEX($A:$A,MATCH(COLUMN(A1),$J:$J,0)),"") E2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーすればよいでしょう。 =IF(OR(ROW(A1)>MAX($K:$K),E$1=""),"",IF(COLUMN(A1)=1,INDEX($B:$B,MATCH(ROW(A1),$K:$K,0)),COUNTIF($M:$M,(COLUMN(A1)-1)*100+ROW(A1)))) なお、作業列が目障りでしたらそれらの列を選択して「非表示」にすればよいでしょう。 お示しの表のケースでは7/12のデータでは店舗②のデータが無いので、店舗①の同日勤務回数は3ではなく2が正しいでしょう。

1人がナイス!しています