
例えば、ここに郵便配達員が10人いるとします。この10人には、それぞれ配達地区を与え仕事をしてもらうことになった。
ところが、その配達地区は50地区もあり、それぞれ地区ごとで配達数はばらばらです。
結論としては、この10人に"配達数"が平等になるように配達地区を分けたいのです。
そこで今、その地区毎の配達数がエクセルにて集計されています。例えば次のように…
A1 B1 C1
地区番号 地区名 配達数
(1~50)
~~~~~~~~~~~~~~
A52 B52 C52
空欄 空欄 配達数合計
A53 B53 C53
空欄 空欄 平均配達数(C51/10人)
このような場合において、10人平等に担当地区を振り分ける事ってできるのでしょうか?^_^;
もし、よい方法があれば、ぜひそのお知恵をお貸しくださいm(__)m
ちなみに私、関数は得意なのですが…BVAの知識はほとんどありません。
皆さん!ぜひ!ぜひ!よろしくお願いします!!
m(__)m
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
その実際のデータ(配達数50件)を教えてほしいのです。
そうでないとソフトの改良する場所が分かりません。
できれば、どういう結果になればいいかも教えてください。
No.3
- 回答日時:
ソフトのバージョンアップです。
(結果を教えてください)それから、実際のデータと理想的な振り分け結果を教えてください。
Dim suryo(10) As Integer
Dim chiku(10) As String
For I = 1 To 10
suryo(I) = suryo(I) + Cells(52 - I, 3)
chiku(I) = chiku(I) & " " & Cells(52 - I, 2)
Next
GYO = 41
Do Until GYO < 2
SAISHO = suryo(1)
SI = 1
For I = 1 To 10
If SAISHO > suryo(I) Then
SAISHO = suryo(I)
SI = I
End If
Next
suryo(SI) = suryo(SI) + Cells(GYO, 3)
chiku(SI) = chiku(SI) & " " & Cells(GYO, 2)
GYO = GYO - 1
Loop
For I = 1 To 10
Cells(I, 4) = suryo(I)
Cells(I, 5) = chiku(I)
Next
やっぱり結果は同じでした…
10人それぞれに、5地区が振り分けられる結果となって、配達数にそれぞればらつきがでてしまいます。
配達地区は50あるのですが、地区毎で配達数にばらつきがあり、1300件だったり、200件だったり、時には3~4件だったりするんです。そして、各々地区の配達数を全部足したものが総配達数であり、それを10人で割った数が1人当たりの平均配達数ということになります。
つまり、1人1人が平均配達数になるように、地区を割り振りたいのです…
例えばA列に地区名、B列に配達数が100,500,420,,,
と入っていて、その配達数の合計が20000件です。それを10人で割ると、1人当たり2000件です。
10人それぞれが、約2000件の配達数を持つように、担当地区を振り分けたいのです。
No.2
- 回答日時:
地区を固定しないマクロを作ってみました。
サンプルで動作確認願います。
Dim suryo(10) As Integer
Dim chiku(10) As String
For i = 2 To 51
allsuryo = allsuryo + Cells(i, 3)
Next
heikin = allsuryo / 10
For i = 1 To 10
suryo(i) = suryo(i) + Cells(52 - i, 3)
chiku(i) = chiku(i) & " " & Cells(52 - i, 2)
Next
gyo = 41
loop1:
i = 10
Do Until suryo(i) < heikin
i = i - 1
Loop
i2 = i
i = 1
Do Until suryo(i) < heikin
i = i + 1
Loop
i1 = i
For i = i2 To i1 Step -1
suryo(i) = suryo(i) + Cells(gyo, 3)
chiku(i) = chiku(i) & " " & Cells(gyo, 2)
gyo = gyo - 1
If gyo = 1 Then GoTo loop2
Next
i = 1
Do Until suryo(i) < heikin
i = i + 1
Loop
i1 = i
i = 10
Do Until suryo(i) < heikin
i = i - 1
Loop
i2 = i
For i = i1 To i2
suryo(i) = suryo(i) + Cells(gyo, 3)
chiku(i) = chiku(i) & " " & Cells(gyo, 2)
gyo = gyo - 1
If gyo = 1 Then GoTo loop2
Next
GoTo loop1
loop2:
For i = 1 To 10
Cells(i, 4) = suryo(i)
Cells(i, 5) = chiku(i)
Next
確かにエラーなしで実行されるのですが、結果として地区数が一人5地区に振り分けられるみたいです。
そのためうまく配達数が、平等(平均)に振り分けられないようです…^^;
生意気言ってすみませんm(__)mやっぱり、この振り分けは簡単ではないんですね(~_~)
No.1
- 回答日時:
マクロ(VBA)でやればできます。
どれほど平等にするのでしょうか。
一人当たり5地区固定と考えていいのでしょうか。
それとも固定しないのでしょうか。
5地区固定で配達数でソートされている前提で作ったマクロが下記です。
Dim suryo(10) As Integer
Dim chiku(10) As String
For i = 1 To 10
suryo(i) = suryo(i) + Cells(52 - i, 3)
chiku(i) = chiku(i) & " " & Cells(52 - i, 2)
Next
For i = 1 To 10
suryo(i) = suryo(i) + Cells(31 + i, 3)
chiku(i) = chiku(i) & " " & Cells(31 + i, 2)
Next
For i = 1 To 10
suryo(i) = suryo(i) + Cells(32 - i, 3)
chiku(i) = chiku(i) & " " & Cells(32 - i, 2)
Next
For i = 1 To 10
suryo(i) = suryo(i) + Cells(11 + i, 3)
chiku(i) = chiku(i) & " " & Cells(11 + i, 2)
Next
For i = 1 To 10
suryo(i) = suryo(i) + Cells(12 - i, 3)
chiku(i) = chiku(i) & " " & Cells(12 - i, 2)
Next
For i = 1 To 10
Cells(i, 4) = suryo(i)
Cells(i, 5) = chiku(i)
Next
うわぁ~ほんとにありがとうございます!!!!
ほんとに助かります!!
一人当たり5地区固定ではなくて、あくまでも配達数のみを平等にできればと考えいてます。ですから、一人当たりの地区数は関係ないのです。
もしよろしければ、地区を固定してないVBAを教えて頂けないでしょうか?ぜひ!ぜひ!よろしくお願いします!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
新聞を止めたい時の最適な連絡...
-
新聞屋さんに電話していい時間...
-
UberEATSの配達電動自転車でし...
-
都内近辺でウーバーイーツと出...
-
出前館の自転車 稼働です。 配...
-
Uber Eats そんな会社だから期...
-
フードデリバリーサービスの配...
-
千葉県八千代市でUberEATSの配...
-
ウーバーイーツ利用しても部屋...
-
ウーバーイーツの配達について
-
出前館を多く使う者です。 最近...
-
なぜか新聞屋さんに配達を忘れ...
-
新聞配達の何日前に休みしたい...
-
access vbaでフォームを開くと...
-
バーガーキング ウーバーだと高...
-
書留、内容証明郵便などの配達記録
-
ウーバーイーツ 自転車配達は拒...
-
オートロックのマンションの上...
-
読売新聞の配達の一時停止を販...
-
毎日、夜中に軽トラが住宅地を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アリエクで注文した商品が届かない
-
書留、内容証明郵便などの配達記録
-
UberEATSの配達電動自転車でし...
-
千葉県八千代市でUberEATSの配...
-
出前館の自転車 稼働です。 配...
-
フードデリバリーサービスの配...
-
Uber Eats そんな会社だから期...
-
都内近辺でウーバーイーツと出...
-
Uber(配達する側)について質問...
-
access vbaでフォームを開くと...
-
ウーバーイーツの配達について
-
新聞配達
-
新聞屋さんに電話していい時間...
-
ウーバーイーツ 自転車配達は拒...
-
ウーバーイーツ利用しても部屋...
-
バーガーキング ウーバーだと高...
-
新聞を止めたい時の最適な連絡...
-
郵便物の特定記録で追跡したら...
-
なぜか新聞屋さんに配達を忘れ...
-
郵便(手紙など)の家への配達...
おすすめ情報