dポイントプレゼントキャンペーン実施中!

エクセル2013を使用です。

A列2行目よりに地区(A,B,C・・・)が入力されています。
D列2行目より6名の担当者名が入力されています。

地区は日々変動し、1件の場合もあれば100件等の場合もあります。
担当者が6名なので地区の数が6で割り切れれば問題ありませんが
割り切れなかった場合、D列(6名)を参照して
ほぼ均等に担当者を振り分けることは出来ますでしょうか?

(地区が1件~5件だった場合は上位5名に振り分け)

例えば地区が14件だった場合、担当者の上位2名に
他の4名より1件ずつ多く振り分けされる。
(地区が15件ならば上位3名に他者より1件ずつ多く振り分け)

また、1週間に1度、担当者はローテーションされる。
(月曜日になると担当者の配列がローテーションされている)

こんな事出来るのでしょか?

「担当者の振り分け」の質問画像

A 回答 (4件)

こんにちは!



担当者が何人いても対応するようにしてみました。
↓の画像のように作業用の列を2列設けます。

まず「ローテーション」の割り振り用として、E2セルに
=IF(D2="","",MOD(WEEKNUM(TODAY())+ROW(A1),COUNTA(D:D)-1))
という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。

次に作業列F2セルに
=IF(A2="","",MOD(ROW(A1)+COUNT(E:E)-1,COUNT(E:E)))
という数式を入れこれもフィルハンドルでA列よりも多目に下へコピー!

最後にB2セルに
=IF(A2="","",INDEX(D$1:D$100,MATCH(SMALL(F:F,ROW(A1)),F:F,0)))
という数式を入れフィルハンドルでこれも下へコピー!

これで画像のような感じになります。

※ ローテーションは自動的に日曜日毎に一つずつずれるようにしています。

※ ローテーションの割り振りはこちらで決められませんので
D列担当者の配列で調整してみてください。。m(_ _)m
「担当者の振り分け」の回答画像3
    • good
    • 0
この回答へのお礼

ローテーションが上手く回るように出来ていて驚きです。
訂正分のコメントと合わせてベストアンサーとさせて頂きます。
ありがとうございました。

お礼日時:2014/08/15 15:25

No.3です。


たびたびごめんなさい。

前回の数式でB2セルの数式に間違いがありました。
B2セルは
=IF(A2="","",INDEX(D:D,MATCH(SMALL(F:F,ROW(A1)),E:E,0)))
としてください。
(E列とF列が違っていました)

他の数式はそのままで大丈夫です。

どうも失礼しました。m(_ _)m
    • good
    • 0

まとめて出るようにしてみました。

添付図を見てください。

セルD2: =INT((COUNTA(A:A)-1)/6)
セルE2: =(ROW()-1<=MOD(COUNTA(A:A)-1,6))*1
セルF2: =IF(ROW()=2,1,SUM(D1:F1))

セルB2: =IF(A2="","",VLOOKUP(ROW()-1,$F$2:$G$7,2,1))

B列は多目にコピーしておけばいいでしょう。


セルG2: =INDEX($I$2:$I$7,MOD(ROW()-2+$J$2,6)+1,)
としています。J2を1ずつ上げると、基本のI列をローテーションします。参考です。
「担当者の振り分け」の回答画像2
    • good
    • 0

以下のような関数をB2セルに入力して下方向にオートフィルすれば、優先順位の高い順に担当者の名前を配置することができます(添付画像参照)。



=INDEX($D$2:$D$7,MOD(ROW(A1)-1,6)+1)
「担当者の振り分け」の回答画像1
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています