アプリ版:「スタンプのみでお礼する」機能のリリースについて

複数入り目の異なったの鍋から順番に20Lずつの液体をタンクに
取り出し、残りの端数を次の鍋から20Lに
満たすまで取り、残りも同じ様に20Lの
タンクの様に繰り返す時、最後のタンクは
端数で良いのですが
エクセルの数式か関数で表せますか?

ご回答よろしくお願い致します。

「エクセルで均等に分配」の質問画像

質問者からの補足コメント

  • 分かりにくくてすみません。

    複数の入り目の異なる鍋から
    準備に20Lずつの液体を取り出していくです。
    よろしくお願い致します。

      補足日時:2019/11/22 15:20
  • このAセルは変動します。
    自動的に20Lに割付けを
    したいのです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2019/11/22 15:49
  • VBA使って下さい。
    是非お願い致します。

      補足日時:2019/11/22 16:02
  • わかりにくくてすみません。
    元の各鍋ごとにロット番号を
    付けます。
    ロット割れして
    混合されたポリタンクには
    混合量記載のダブルロット番号を
    付ける為です。

    No.5の回答に寄せられた補足コメントです。 補足日時:2019/11/22 16:29

A 回答 (8件)

大変お待たせいたしました。

No.6 の修正版です。

Sub Sample()

Const 分割容量 As Long = 20
Dim 行 As Long
Dim 列 As Long
Dim 容量 As Long
Dim 使用 As Long

 行 = 1
 列 = 2
' ↓前回の結果をクリアしています、不要なら削除して下さい。
Dim 行終 As Long
Dim 列終 As Long
 With ActiveSheet.UsedRange
  行終 = .Rows(.Rows.Count).Row
  列終 = .Columns(.Columns.Count).Column
 End With
 If 列終 >= 列 Then
  Range(Cells(1, 2), Cells(行終, 列終)).ClearContents
 End If
' ↑前回の結果をクリアしています、不要なら削除して下さい。
 Do Until 行 > Cells(Rows.Count, 1).End(xlUp).Row
  If 容量 <= 分割容量 - 使用 Then
   If 容量 > 0 Then
    Cells(行, 列).Value = 容量
    使用 = 使用 + 容量
    行 = 行 + 1
   End If
   容量 = Cells(行, 1).Value
  Else
   If 分割容量 - 使用 > 0 Then
    Cells(行, 列).Value = 分割容量 - 使用
   End If
   容量 = 容量 - 分割容量 + 使用
   列 = 列 + 1
   使用 = 0
  End If
 Loop

End Sub
    • good
    • 1
この回答へのお礼

完璧です。
大変お世話になりました。
ありがとうございます。

お礼日時:2019/11/25 11:43

No.6 に間違いがありましたまだ閉めないで下さい

    • good
    • 1

それでは以下の様な物はいかがですか?



Sub Sample()

Const 分割容量 As Long = 20
Dim 行 As Long
Dim 列 As Long
Dim 容量 As Long
Dim 使用 As Long

 列 = 2
 Do Until 行 > Cells(Rows.Count, 1).End(xlUp).Row
  If 容量 <= 0 Then
   行 = 行 + 1
   If 行 > Cells(Rows.Count, 1).End(xlUp).Row Then Exit Do
   容量 = 容量 + Cells(行, 1).Value
  End If
  If 容量 < 分割容量 Then
   Cells(行, 列).Value = 容量
   使用 = 容量
  Else
   Cells(行, 列).Value = 分割容量 - 使用
   使用 = 0
   列 = 列 + 1
  End If
  容量 = 容量 - 分割容量
 Loop

End Sub
    • good
    • 1

ん?


元のタンクから20リットルずつポリタンクに移して、
残った端数を次のポリタンクに移したうえで次のタンクから継ぎ足して20リットルにする
・・として、最終的にいくつポリタンクが必要になるか…ってこと?

元のタンクにある全体の量を足して、それを20で割れば良いと思うんだけど。
そうじゃなくて?

マクロも関数も関係ないような気がするのは自分だけでしょうか。
この回答への補足あり
    • good
    • 0

関数でも出来ないわけではありませんが、マクロ(VBA)を使った方が簡単なので使っても良いですか?

    • good
    • 0

イメージとしては下図の様な物でしょうか?

「エクセルで均等に分配」の回答画像3
この回答への補足あり
    • good
    • 0
この回答へのお礼

その通りです

お礼日時:2019/11/22 15:44

分からない。

。。
    • good
    • 0

何を質問されているのか分からないです。


箇条書きで質問文を書き直してください。

また、「複数入り目」は、検索してもヒットしません。
どういう意味ですか?
    • good
    • 0

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

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