請教EXCEL 條件判斷計算

請教EXCEL 條件判斷計算



大家好,我想請教一下

我要計算箱數,B欄的重量加總>=510及<=500公斤時為一箱
假如編號A~K 為一箱後 我要再重新從L 加總起來
(算到K欄為499.5 如果再加上L 會超過 510,所以就加到K)

這樣子我要如何下函數? 謝謝大家!
2017-03-10 18:07 發佈
文章關鍵字 excel 條件
nps456987 wrote:
這樣子我要如何下函數?...(恕刪)


如果還要列出可能的組合,用函數,是非常煩麻的,建議用vba,還不用先排序
加總500,有176種組合,最小2個數字,最大10個數字
加總505,有140種組合,最小3個數字,最大10個數字
加總510,有168種組合,最小3個數字,最大10個數字
如果不想那麼多的組合,那只要限定每組數字個數,例如3個,那組合方式,就只有幾組而己

vba 請參考這一篇,其它請自行修改
https://www.mobile01.com/topicdetail.php?f=511&t=5025613&p=1#62873401
B欄的重量加總>=510及<=500公斤時為一箱


這個條件蠻難懂的~~

如果是限制單箱重量需 <=500公斤
檢單用兩個儲存格可以簡單完成
先累加 再判斷





如果像2F 說的 你需要排列組合
那就需VBA了
stran0628 wrote:
B欄的重量加總>=510及<=500公斤時為一箱
這個條件蠻難懂的~~
...(恕刪)

我也看不懂
加到L 是 724.5 明明就條件成立,卻不要
499.5 也條件成立

很矛盾的條件…
所以我自動腦補成 500 =< 重量 =< 510

nps456987 wrote:
大家好,我想請教一下...(恕刪)

snare wrote:
如果還要列出可能的組...(恕刪)

snare wrote:
我也看不懂
加到L ...(恕刪)




因為都是人工自己計算,所以每次算超過510公斤時 就必須在去掉一項產品
之後公斤數又會掉至4XX公斤,但因為不能超過510 所以公斤數就是在4XX
但是如果條件下<=500話..就又抓不到我要的資料了 T_T


感謝大家的意見,因為還沒研究過VBA,所以當初想說是否能用函數解決
看來是無法的!只好來研究VBA了!

謝謝各位!
可以解決的,請用 IF( ) 函數即可

老刀 wrote:
可以解決的,請用 IF...(恕刪)


您好想請問要如何用IF解決呢?

=IF(SUM($B$2:B3)>=500,IF(SUM($B$2:B3)<=510,1,500-SUM($B$2:B3)),SUM($B$2:B3))
我目前是這樣子
先去判斷B2到B3欄位加總是否超過500並小於510,是就顯示加總數
否的話顯示超出多少(負數)

但是這種寫法只能算出一箱 因為到第二箱 我要從新 判斷 我固定算的欄位 (不在是B2 因為B2已經在第一箱之中)
依您的圖例,
若依序加總重量,要控制在 500 至 510 之間會有難度,
(有可能加總到某列只有 4xx,再多一列則超過 510)
所以公式若僅限制在此範圍內,可能導致無解!
My Interior Knowledge is Extraordinaire
nps456987 wrote:
因為都是人工自己計算,所以每次算超過510公斤時 就必須在去掉一項產品
之後公斤數又會掉至4XX公斤,但因為不能超過510 所以公斤數就是在4XX
但是如果條件下<=500話..就又抓不到我要的資料了 T_T...(恕刪)


所以您的條件確實是這樣沒錯
500<= 重量 <= 510

不建議用公式,數字少,還可以人工修正,數字多,您會算到瘋掉
特定情況下,就如Mystique Hsiao高手所說的,會無解

範例,找總合15,由小加到大(1 3 5 7 9 )
1+3+5=9
1+3+5+7=16
有發現到了嗎??
由小加到大,您可以找到 9 跟 16 ,就是找不到15
但 3+5+7=15,是存在的

提示:如果要用我的範例,只要把這一行程式If tempsum = target Then 略作修改(自行想辦法)
就可以把把固定目標值,改成動態目標值 500<= 重量 <= 510
不過因為這個範例,是找出“所有可能組合”
所以當您在所有組合中挑出一組後,想從剩下的數字,再找下一組
需要人工刪掉數字,再跑一次程式
提示:想要自動跑,請利用我程式中預留的 total 變數,作判斷


不會寫程式,請改用規劃求解,一樣可以解決您的問題
(excel 內建功能,請自行google)
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?