Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5425 / 13644 ツリー ←次へ | 前へ→

【50512】段ボールケースに何箱入れられるか? まくりん 07/7/30(月) 16:18 質問[未読]
【50513】Re:段ボールケースに何箱入れられるか? ちくたく 07/7/30(月) 16:27 発言[未読]
【50514】Re:段ボールケースに何箱入れられるか? マクロマン 07/7/30(月) 16:34 発言[未読]
【50516】Re:段ボールケースに何箱入れられるか? わいわい 07/7/30(月) 17:00 発言[未読]
【50520】Re:段ボールケースに何箱入れられるか? まくりん 07/7/30(月) 20:01 お礼[未読]
【50524】Re:段ボールケースに何箱入れられるか? 07/7/31(火) 0:16 回答[未読]
【50526】Re:段ボールケースに何箱入れられるか? わいわい 07/7/31(火) 7:12 発言[未読]
【50529】Re:段ボールケースに何箱入れられるか? わいわい 07/7/31(火) 8:34 発言[未読]
【50536】Re:段ボールケースに何箱入れられるか? まくりん 07/7/31(火) 12:00 お礼[未読]
【50545】Re:段ボールケースに何箱入れられるか? わいわい 07/7/31(火) 19:29 回答[未読]
【50577】Re:段ボールケースに何箱入れられるか? まくりん 07/8/2(木) 13:55 発言[未読]
【50579】Re:段ボールケースに何箱入れられるか? わいわい 07/8/2(木) 15:06 発言[未読]
【50612】Re:段ボールケースに何箱入れられるか? まくりん 07/8/4(土) 19:09 お礼[未読]
【50866】Re:段ボールケースに何箱入れられるか? まくりん 07/8/20(月) 18:59 お礼[未読]

【50512】段ボールケースに何箱入れられるか?
質問  まくりん  - 07/7/30(月) 16:18 -

引用なし
パスワード
   はじめて投稿させて頂きます。
私は様々な地方へ、弊社の製品(様々な寸法の箱入り)を数種類ある汎用段ボールケース
に入れて発送する...という仕事をしています。
一つの段ボールケースに入れる商品の種類は必ず一種類(皆同じ寸法の箱)、なのですが、その商品はオーダーメイドなのでいつも違う寸法です。例えば100x50x30mm(高さ)だったとします。それを500x400x300mmの段ボールケースに何個入れることが出来るか...を知りたいのです。

弊社の製品「A」=100x50x30mm(高さ)を1000ヶ××へ郵送するとき
500x400x300mmの段ボールケース(大)1箱に何個入れることが出来るか?
400x300x200mmの段ボールケース(中)になら1箱に何個入れることが出来るか? です。

商品のサイズと段ボールケースのサイズを入力すれば、「86ヶ」と計算してくれるような
式を作りたいのです。 
どこかに参考になるサイトやページなどありませんでしょうか。
色々探したのですが見あたりません(見つけることが出来なかっただけ?)。

どうか宜しくお願い致します。

【50513】Re:段ボールケースに何箱入れられるか?
発言  ちくたく E-MAIL  - 07/7/30(月) 16:27 -

引用なし
パスワード
   まくりん さん

こんにちは。

はずしていたらすいませんのと、
どういう運用にしたいのかはわかりませんが、
単純に「たて×よこ×たかさ」ではないのですか?

【50514】Re:段ボールケースに何箱入れられるか?
発言  マクロマン  - 07/7/30(月) 16:34 -

引用なし
パスワード
   これかな〜。
関係なかったらすみません。

http://kaz.cyteen.nagoya-bunri.ac.jp/ai/repo3.html

【50516】Re:段ボールケースに何箱入れられるか?
発言  わいわい  - 07/7/30(月) 17:00 -

引用なし
パスワード
   ▼まくりん さん:

こんにちは、質問されている件ですが、非常に難しいと思います。
『箱詰め 最適 計算』あたりで検索すると参考になるものがあるかもしれません。
計算条件なのですが、商品の箱を同じ向きで詰めると言うのであれば計算式は比較的簡単に作れる(6通りの向きを計算をして比較する)と思いますが、これでは隙間が出来てしまいます。商品の向きが不特定多数となると私にはお手上げです。
また、商品同士の間のアソビも考えねばならないはずですね。
コンピュータに全部計算させるのではなく、一度粗計算させた結果を基に詰め込み方法を指定してそれが実施可能かの判断をさせると言うような方向のほうが良いのではないでしょうか。

>はじめて投稿させて頂きます。
>私は様々な地方へ、弊社の製品(様々な寸法の箱入り)を数種類ある汎用段ボールケース
>に入れて発送する...という仕事をしています。
>一つの段ボールケースに入れる商品の種類は必ず一種類(皆同じ寸法の箱)、なのですが、その商品はオーダーメイドなのでいつも違う寸法です。例えば100x50x30mm(高さ)だったとします。それを500x400x300mmの段ボールケースに何個入れることが出来るか...を知りたいのです。
>
>弊社の製品「A」=100x50x30mm(高さ)を1000ヶ××へ郵送するとき
>500x400x300mmの段ボールケース(大)1箱に何個入れることが出来るか?
>400x300x200mmの段ボールケース(中)になら1箱に何個入れることが出来るか? です。
>
>商品のサイズと段ボールケースのサイズを入力すれば、「86ヶ」と計算してくれるような
>式を作りたいのです。 
>どこかに参考になるサイトやページなどありませんでしょうか。
>色々探したのですが見あたりません(見つけることが出来なかっただけ?)。
>
>どうか宜しくお願い致します。

【50520】Re:段ボールケースに何箱入れられるか?
お礼  まくりん  - 07/7/30(月) 20:01 -

引用なし
パスワード
   ちくたくさん、マクロマンさん、わいわいさん、有難うございます!
そして、お返事遅くなってしまい申し訳ありませんでした。

色々と調べて頂き感謝致します。やっぱり難しいのですね...
かなり難しいだろうなぁ、とは思っていたのですがこの問題は結構、色々な業種で
起こりそうな気がして、どこかに答えがあるのではないかと考えてしまっていました。

商品の箱の向きを縦にしたり横にしたりして、出来るだけすき間無く入れられれば
ベストなのですが、それは困難...となればその(6通りの向きを計算をして比較する)と
言う方法でも構いません、いいえそれで十分です!おおよその郵送コストを計算出来れば非常に助かるのです。(見積もりの際に、その計算式で出た数字よりちょっと高めに算出すればいいので...)
何度も申し訳ないのですが、(私ももうお腹が減ってしまってヘロヘロなのでこれから帰社します、もの凄く勝手ですいませんm(_ _)m)またお時間のお有りになるときで結構です、急ぎませんので何とぞ、またヒントを頂けますよう、御願い致します。 (お腹、減りました...)
ではみなさん、本日は本当に有難うございました。


▼わいわい さん:
>▼まくりん さん:
>
>こんにちは、質問されている件ですが、非常に難しいと思います。
>『箱詰め 最適 計算』あたりで検索すると参考になるものがあるかもしれません。
>計算条件なのですが、商品の箱を同じ向きで詰めると言うのであれば計算式は比較的簡単に作れる(6通りの向きを計算をして比較する)と思いますが、これでは隙間が出来てしまいます。商品の向きが不特定多数となると私にはお手上げです。
>また、商品同士の間のアソビも考えねばならないはずですね。
>コンピュータに全部計算させるのではなく、一度粗計算させた結果を基に詰め込み方法を指定してそれが実施可能かの判断をさせると言うような方向のほうが良いのではないでしょうか。
>
>>はじめて投稿させて頂きます。
>>私は様々な地方へ、弊社の製品(様々な寸法の箱入り)を数種類ある汎用段ボールケース
>>に入れて発送する...という仕事をしています。
>>一つの段ボールケースに入れる商品の種類は必ず一種類(皆同じ寸法の箱)、なのですが、その商品はオーダーメイドなのでいつも違う寸法です。例えば100x50x30mm(高さ)だったとします。それを500x400x300mmの段ボールケースに何個入れることが出来るか...を知りたいのです。
>>
>>弊社の製品「A」=100x50x30mm(高さ)を1000ヶ××へ郵送するとき
>>500x400x300mmの段ボールケース(大)1箱に何個入れることが出来るか?
>>400x300x200mmの段ボールケース(中)になら1箱に何個入れることが出来るか? です。
>>
>>商品のサイズと段ボールケースのサイズを入力すれば、「86ヶ」と計算してくれるような
>>式を作りたいのです。 
>>どこかに参考になるサイトやページなどありませんでしょうか。
>>色々探したのですが見あたりません(見つけることが出来なかっただけ?)。
>>
>>どうか宜しくお願い致します。

【50524】Re:段ボールケースに何箱入れられるか?
回答    - 07/7/31(火) 0:16 -

引用なし
パスワード
   ▼まくりん さん:
こんにちは

>それは困難...となればその(6通りの向きを計算をして比較する)と
>言う方法でも構いません、いいえそれで十分です!

縦横の方向性を考慮しない6通りでなら、基本の計算は四則演算だけで出来ます。
あとは、外箱寸法/内箱寸法の端数切捨て処理だけです。

どこかに外箱および内箱のコード、縦、横、高さの一覧表を作っておき
vlookupを設定しておけば、毎回の入力は外箱、内箱のコードを入力するだけで
結果は出せますね。
念のために最終的な隙間の寸法を出しておけば、計算の実際の違いも経験的に分かるんじゃないですか? (寸法誤差で最低隙間がどれくらい必要かなど)

1.コードを入力   自動的に寸法を取得(外、内箱寸法)
2.上記の寸法の6通りの自動表示
3.6通りの収納最大値取得・・単なる割り算
   RoundDown(外箱/内箱、0)
4.6通りの隙間の把握

【50526】Re:段ボールケースに何箱入れられるか?
発言  わいわい  - 07/7/31(火) 7:12 -

引用なし
パスワード
   ▼まくりん さん:

以下を標準モジュールに張り付けて試してください。
考え方だけなので、入力部、出力部、関数宣言は適当です。
最適解の求め方ではありませんが、Sub test2()で出来た隙間3つ(重複部処理必要)に、どれだけ詰められるのか計算をする、と言うように階層を作って行くと、精度を上げられると思いますよ。

Sub test() '単純に(最適解ではなく)個数を求める場合
'ダンボールケースの内寸
  Dim x As Double, y As Double, z As Double
'商品の箱の外寸(余裕含む)
  Dim A As Double, B As Double, C As Double
'詰め込み可能な個数
  Dim 個数(6) As Integer
  Dim 回答 As Integer
'条件設定
  x = 500
  y = 400
  z = 300
  A = 110
  B = 70
  C = 30
  
'CASE 1
  個数(1) = Int(x / A) * Int(y / B) * Int(z / C)
'CASE 2
  個数(2) = Int(x / A) * Int(y / C) * Int(z / B)
'CASE 3
  個数(3) = Int(x / B) * Int(y / A) * Int(z / C)
'CASE 4
  個数(4) = Int(x / B) * Int(y / C) * Int(z / A)
'CASE 5
  個数(5) = Int(x / C) * Int(y / A) * Int(z / B)
'CASE 6
  個数(6) = Int(x / C) * Int(y / B) * Int(z / A)
  
'計算結果比較
  For i = 1 To 6
    If 回答 < 個数(i) Then 回答 = 個数(i)
    Cells(i, 1).Value = 個数(i)
  Next i
  Cells(8, 1).Value = 回答
'容積−体積比較による個数
  Cells(9, 1).Value = Int(x * y * z / (A * B * C))
End Sub

Sub test2() '箱詰め状況確認用の場合
'ダンボールケースの内寸
  Dim x As Double, y As Double, z As Double
'商品の箱の外寸(余裕含む)
  Dim A As Double, B As Double, C As Double
'詰め込み可能な個数
  Dim 個数(6) As Integer
  Dim 回答 As Integer
'条件設定
  x = 500
  y = 400
  z = 300
  A = 110
  B = 70
  C = 30
  
'CASE 1
  x_tmp = Int(x / A): y_tmp = Int(y / B): z_tmp = Int(z / C)
  個数(1) = x_tmp * y_tmp * z_tmp
  Call output(1, x, y, z, x_tmp, y_tmp, z_tmp, 個数(1), A, B, C)
  
'CASE 2
  x_tmp = Int(x / A): y_tmp = Int(y / C): z_tmp = Int(z / B)
  個数(2) = x_tmp * y_tmp * z_tmp
  Call output(2, x, y, z, x_tmp, y_tmp, z_tmp, 個数(2), A, C, B)
'CASE 3
  x_tmp = Int(x / B): y_tmp = Int(y / A): z_tmp = Int(z / C)
  個数(3) = x_tmp * y_tmp * z_tmp
  Call output(3, x, y, z, x_tmp, y_tmp, z_tmp, 個数(3), B, A, C)
'CASE 4
  x_tmp = Int(x / B): y_tmp = Int(y / C): z_tmp = Int(z / A)
  個数(4) = x_tmp * y_tmp * z_tmp
  Call output(4, x, y, z, x_tmp, y_tmp, z_tmp, 個数(4), B, C, A)
'CASE 5
  x_tmp = Int(x / C): y_tmp = Int(y / A): z_tmp = Int(z / B)
  個数(5) = x_tmp * y_tmp * z_tmp
  Call output(5, x, y, z, x_tmp, y_tmp, z_tmp, 個数(5), C, A, B)
'CASE 6
  x_tmp = Int(x / C): y_tmp = Int(y / B): z_tmp = Int(z / A)
  個数(6) = x_tmp * y_tmp * z_tmp
  Call output(6, x, y, z, x_tmp, y_tmp, z_tmp, 個数(6), C, B, A)
  
'計算結果比較
  For i = 1 To 6
    If 回答 < 個数(i) Then 回答 = 個数(i)
  Next i
  Cells(1, 1).Value = x
  Cells(1, 2).Value = y
  Cells(1, 3).Value = z
  Cells(2, 1).Value = A
  Cells(2, 2).Value = B
  Cells(2, 3).Value = C
  Cells(10, 1).Value = 回答
'容積−体積比較による個数
  Cells(11, 1).Value = Int(x * y * z / (A * B * C))
End Sub

Sub output(i, x, y, z, x_tmp, y_tmp, z_tmp, 個数x, t1, t2, t3)
'x,y,z方向に詰められる個数
  Cells(i + 2, 1).Value = x_tmp
  Cells(i + 2, 2).Value = y_tmp
  Cells(i + 2, 3).Value = z_tmp

'箱内に詰められる個数
  Cells(i + 2, 4).Value = 個数x

'x,y,z方向それぞれの隙間
  Cells(i + 2, 6).Value = x - x_tmp * t1
  Cells(i + 2, 7).Value = y - y_tmp * t2
  Cells(i + 2, 8).Value = z - z_tmp * t3
End Sub

【50529】Re:段ボールケースに何箱入れられるか?
発言  わいわい  - 07/7/31(火) 8:34 -

引用なし
パスワード
   ちなみに以下の部分を考えてみました。
>最適解の求め方ではありませんが、Sub test2()で出来た隙間3つ(重複部処理必要)に、どれだけ詰められるのか計算をする、と言うように階層を作って行くと、精度を上げられると思いますよ。
>
段ボールケースのサイズ  X,Y,Z
商品の箱のサイズ     A,B,C
縦、横、奥行き方向の個数 l,m,n
箱詰め済み寸法 Al=x , Bm=y , Cn=z
隙間 X-x=dx , Y-y=dy , Z-z=dz
(1)dx×Y×Zの6方向計算と、X×dy×Zの計算と、X×Y×dzの計算で箱詰め最大値を求める。dx×Y×Zが最大の時は、XYZで出た数量にこれを加え残り2つの隙間の検討を行う。
(2)x×dy×Zの計算とx×Y×dzの計算を比較し大きい方を箱詰め数量に加えて残りの隙間の検討をする。x×dy×Zが大きかったとすると、
(3)残りの隙間は、x×y×dzとして計算する。
当然(1)が最大の時(1)+(2)+(3)が最大になるとは限らないので、隙間の組み合わせ6種について、それぞれ6方向計算すると言う方法の方が良いのか、実際に計算させて計算時間、計算結果差異等を見てみないと分かりません。
6方向計算は、段ボールケース(及び隙間)サイズの受け渡しを管理すれば使い回しが出来るので、必要ならば前述計算式を利用してみてください。
とココまで書いていたのですが、よく考えたら今回は、一度に検討する長さが3種類に限定されるのでもう少し精度の高い計算法があるような気がしてきました。少し考えてみます。

【50536】Re:段ボールケースに何箱入れられるか?
お礼  まくりん  - 07/7/31(火) 12:00 -

引用なし
パスワード
   今仕入れ先から帰ってきました、びっくりしました!
みなさん有難うございます。でも、まだ全部読めていないのですが
sub testとか使ったことがない関数がありますね、う〜ん...
なかなか、というか、これはかなり私的に頑張らないと...

本日は業務がびっしりなので、申し訳ありません。
このレスを全部コピーして自宅に持ち帰るなりして後日、頑張ってみます。
お返事がすぐに出来ないのが申し訳なくて...すいません。

本当に有難うございます。
では、数日後になってしまうかもしれませんが、必ず結果報告致しますので
宜しくお願い致します。

有難うございました。

【50545】Re:段ボールケースに何箱入れられるか?
回答  わいわい  - 07/7/31(火) 19:29 -

引用なし
パスワード
   ▼まくりん さん:
こんばんは、興味があったので作ってみました。
新しいWORKBOOKの標準モジュールにコピーして下さい。
先ず 表示を実行し色のついたセル6つに入力してからtestを実行して下さい。
>sub testとか使ったことがない関数がありますね、う〜ん...
>なかなか、というか、これはかなり私的に頑張らないと...
>
質問箱の名前の通りVBAで作成しています。EXCELで準備された関数ではないのでご注意下さい。

Sub 表示()
  Dim MyArray(8)
  With Worksheets("Sheet1")
    .Cells(1, 1).Value = "外箱の寸法"
    .Cells(2, 1).Value = "DB_X"
    .Cells(2, 2).Value = "DB_Y"
    .Cells(2, 3).Value = "DB_Z"
    .Cells(5, 1).Value = "商品の寸法"
    .Cells(6, 1).Value = "X"
    .Cells(6, 2).Value = "Y"
    .Cells(6, 3).Value = "Z"
    .Cells(9, 1).Value = "a"
    .Cells(9, 2).Value = "b"
    .Cells(9, 3).Value = "c"
    .Cells(12, 1).Value = "l"
    .Cells(12, 2).Value = "m"
    .Cells(12, 3).Value = "n"
    .Cells(12, 4).Value = "l×m×n"
    .Cells(12, 5).Value = "隙間処理後"
    .Cells(12, 6).Value = "X方向"
    .Cells(12, 7).Value = "Y方向"
    .Cells(12, 8).Value = "Z方向"
    .Cells(20, 1).Value = "詰め込み個数"
    .Cells(21, 1).Value = "容積比較個数"
    .Cells(22, 1).Value = "比率"
    .Range("A3:C3").Interior.ColorIndex = 35
    .Range("A7:C7").Interior.ColorIndex = 35
  End With
End Sub
Sub test()
'詰め込み可能な最終個数
  Dim 最終個数(6) As Integer
  Dim 解答 As Integer
'ダンボールケースの寸法
  Dim DB_X As Double, DB_Y As Double, DB_Z As Double
'商品ケースの寸法
  Dim x As Double, y As Double, z As Double
  Dim A As Double, B As Double, C As Double
  
  With Worksheets("sheet1")
'ダンボールケースの寸法を取得
    DB_X = .Cells(3, 1).Value
    DB_Y = .Cells(3, 2).Value
    DB_Z = .Cells(3, 3).Value
'商品ケースの寸法を取得
    x = .Cells(7, 1).Value
    y = .Cells(7, 2).Value
    z = .Cells(7, 3).Value
'大きい順に並べ替え
    A = Application.Max(x, y, z)
    C = Application.Min(x, y, z)
    If x <> A And x <> C Then
      B = x
    ElseIf y <> A And y <> C Then
      B = y
    Else
      B = z
    End If
    .Cells(10, 1).Value = A
    .Cells(10, 2).Value = B
    .Cells(10, 3).Value = C
  
    最終個数(1) = 計算1(1, DB_X, DB_Y, DB_Z, A, B, C)
    最終個数(2) = 計算1(2, DB_X, DB_Z, DB_Y, A, B, C)
    最終個数(3) = 計算1(3, DB_Y, DB_X, DB_Z, A, B, C)
    最終個数(4) = 計算1(4, DB_Y, DB_Z, DB_X, A, B, C)
    最終個数(5) = 計算1(5, DB_Z, DB_X, DB_Y, A, B, C)
    最終個数(6) = 計算1(6, DB_Z, DB_Y, DB_X, A, B, C)
'計算結果比較
    For i = 1 To 6
      If 解答 < 最終個数(i) Then 解答 = 最終個数(i)
      .Cells(12 + i, 5).Value = 最終個数(i)
    Next i
    
    .Cells(20, 2).Value = 解答
'容積−体積比較による個数
    .Cells(21, 2).Value = Int(DB_X * DB_Y * DB_Z / (x * y * z))
'容積−体積比較による個数に対する解答の比率
    .Cells(22, 2).Value = 解答 / Int(DB_X * DB_Y * DB_Z / (x * y * z))
  End With
End Sub
Function 計算1(i, DBX, DBY, DBZ, A, B, C)
'縦、横、高さ方向の個数
  Dim l As Integer, m As Integer, n As Integer
'箱詰め済み長さ
  Dim X1 As Integer, Y1 As Integer, Z1 As Integer
'隙間長さ
  Dim dX As Integer, dY As Integer, dZ As Integer
      
'縦、横、高さ方向の個数算出
  l = Int(DBX / A)
  m = Int(DBY / B)
  n = Int(DBZ / C)
'箱詰め済み長さ算出
  X1 = A * l
  Y1 = B * m
  Z1 = C * n
'隙間長さ算出
  dX = DBX - X1
  dY = DBY - Y1
  dZ = DBZ - Z1
'X > Y > Z > dZよりdZについては検討不要
  Worksheets("sheet1").Cells(12 + i, 1).Value = l
  Worksheets("sheet1").Cells(12 + i, 2).Value = m
  Worksheets("sheet1").Cells(12 + i, 3).Value = n
  Worksheets("sheet1").Cells(12 + i, 4).Value = l * m * n
  Worksheets("sheet1").Cells(12 + i, 6).Value = DBX
  Worksheets("sheet1").Cells(12 + i, 7).Value = DBY
  Worksheets("sheet1").Cells(12 + i, 8).Value = DBZ
  aaa = l * m * n + 計算2(dX, DBY, DBZ, A, B, C) + 計算2(X1, dY, DBZ, A, B, C)
  bbb = l * m * n + 計算2(dX, Y1, DBZ, A, B, C) + 計算2(DBX, dY, DBZ, A, B, C)
  
  計算1 = Application.Max(aaa, bbb)
End Function
Function 計算2(DBX, DBY, DBZ, A, B, C)
'詰め込み可能な個数
  Dim 個数(6) As Integer
  Dim 回答 As Integer
 
'CASE 1
  個数(1) = Int(DBX / A) * Int(DBY / B) * Int(DBZ / C)
'CASE 2
  個数(2) = Int(DBX / A) * Int(DBY / C) * Int(DBZ / B)
'CASE 3
  個数(3) = Int(DBX / B) * Int(DBY / A) * Int(DBZ / C)
'CASE 4
  個数(4) = Int(DBX / B) * Int(DBY / C) * Int(DBZ / A)
'CASE 5
  個数(5) = Int(DBX / C) * Int(DBY / A) * Int(DBZ / B)
'CASE 6
  個数(6) = Int(DBX / C) * Int(DBY / B) * Int(DBZ / A)
 
'計算結果比較
  For i = 1 To 6
    If 回答 < 個数(i) Then 回答 = 個数(i)
  Next i
  計算2 = 回答
End Function

【50577】Re:段ボールケースに何箱入れられるか?
発言  まくりん  - 07/8/2(木) 13:55 -

引用なし
パスワード
   わいわいさん、本当に何度も有難うございます。
心から感謝致します!

このままでは時間が掛かるばかりでなく、折角のご厚意に結果報告も
ままならない... と、感じましたので現在知人に御願いして計算式を
作って貰っています(お恥ずかしいですけど...)。

とにかくここまでして頂いた以上、何が何でも使えるようになりたいですし、
それが出来なければ申し訳ないどころの騒ぎではありません!
もうしばらく、何とぞお待ち下さいませ...(と、言いつつ知人の尻を叩こうと思っています(^^;))
では。

【50579】Re:段ボールケースに何箱入れられるか?
発言  わいわい  - 07/8/2(木) 15:06 -

引用なし
パスワード
   ▼まくりん さん:

>このままでは時間が掛かるばかりでなく、折角のご厚意に結果報告も
>ままならない... と、感じましたので現在知人に御願いして計算式を
>作って貰っています(お恥ずかしいですけど...)。
とのことで、問題ないと思うのですが念のため書いておきます。
先般提示した中に修正すべき内容が2箇所あります。
1.大きい順に並べ替え処理が間違っている。
'大きい順に並べ替え(修正例、他にもっとスマートな方法があると思います)
  AA(1) = x
  AA(2) = y
  AA(3) = z
  If AA(1) < AA(2) Then AA(0) = AA(1): AA(1) = AA(2): AA(2) = AA(0)
  If AA(1) < AA(3) Then AA(0) = AA(1): AA(1) = AA(3): AA(3) = AA(0)
  If AA(2) < AA(3) Then AA(0) = AA(2): AA(2) = AA(3): AA(3) = AA(0)
  A = AA(1)
  B = AA(2)
  C = AA(3)

2.例題では問題ないが、個数が増えたときの対応としてIntegerをLongにする。
です。
計算結果には、数学的価値は全くありませんが、そこそこの答えは出てきますよ。

【50612】Re:段ボールケースに何箱入れられるか?
お礼  まくりん  - 07/8/4(土) 19:09 -

引用なし
パスワード
   わいわいさんこんにちは。

>とのことで、問題ないと思うのですが念のため書いておきます。
>計算結果には、数学的価値は全くありませんが、そこそこの答えは出てきますよ。

本当に何度もすいません、昨夜から知人がボチボチやりはじめてくれている
のですが、何分、知人もそれほどの腕を持っているわけでなく「う〜ん...」と
唸っているようです。(^^;))

「勉強になるわぁ」と、いいながら少しずつは進んでいるようなので
すいませんが、もう少しお待ちください。
またどうしてもわからない部分など出てきましたらまたおたずねするかも
しれませんので、またよろしくお願いいたします。m(_ _)m

【50866】Re:段ボールケースに何箱入れられるか?
お礼  まくりん  - 07/8/20(月) 18:59 -

引用なし
パスワード
   みなさん、ものすごく返信が遅くなってしまい申し訳ありませんでした。
私には少々手に負えない計算式→知人に頼んだ→お盆休みがやってきた→お盆休みが終わった→ようやく叩き台的な計算式を完成させてくれた=本日のお礼投稿、とあいなりました。m(_ _)m
「いったいどうなってるんだ!」「あんなに色々と教えてあげたのに!」との厳しい声も
なく、本当に気長に待って頂けたことに感謝致します。
現在のところ、それほど精度は必要なく、見積もり段階で"ソンをしない事"が大前提での計算式ですので、これから、例えば段ケースのサイズをドロップダウンメニューで選択出来るようにするとか、商品サイズに若干の余裕を自動的に加算するとか...を、コツコツと加えていくことにより、使いやすい「商品入り数計算式」に仕上げたいと思っています。
本当に便利に使えそうです! わいわいさん、岳さん、マクロマンさん、ちくたくさん、本当に有難うございました。
今はまだみなさんのアドバイスを元に知人が作ってくれた計算式を使って作業時間が短縮されて大喜びしている程度ですが、今後はその計算式の"内容"と"式の意味"を追々知人から教えて貰おうと思っています。 でないと、折角の皆さんのご厚意がモッタイナイし、私もレベルアップしたいと思うからです。 まだまだ"とりあえず!"...ですが、みなさん有難うございました!

5425 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free