Chia số đốt ống cống - cần giúp đỡ^^ (9 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

phamxuanly.gtvt

Thành viên mới
Tham gia
20/6/10
Bài viết
46
Được thích
1
Em có chiều dài cống giờ chia và phân ra bao nhiêu loại 3m,4m một cách tối ưu.
Em có mô tả trong file đính kèm
Nhờ anh nào biết viết giúp em công thức trên file luôn
Em cảm ơn ^^
http://www.mediafire.com/?kdyye48hbdx8yyy
 
Em có chiều dài cống giờ chia và phân ra bao nhiêu loại 3m,4m một cách tối ưu.
Em có mô tả trong file đính kèm
Nhờ anh nào biết viết giúp em công thức trên file luôn
Em cảm ơn ^^
http://www.mediafire.com/?kdyye48hbdx8yyy
Làm đại xem
1> Công thức tại C4
Mã:
=LOOKUP(2,1/(MOD(B4-ROW(INDIRECT("1:"&INT(B4/$C$3)))*$C$3,$D$3)=0),ROW(INDIRECT("1:"&INT(B4/$C$3))))
2> Công thức tại D4:
Mã:
=INT((B4-C4*$C$3)/$D$3)
Tất cả kéo fill xuống
 
Công thức trên vẫn chưa cho kết quả đúng khi chiều dài = 3, 5, 6... đâu nha
Đố biết phải sửa công thức trên như thế nào?
 
Công thức của sư phụ báo lỗi ở các trường hợp 1,2,3,5,6,9 m.//**/ Do lỗi của hàm MOD.
Có thể trong thực tế không có độ dài ống như thế, nhưng công thức vẫn chưa bao quát hết.
[P/s: đang định bắt giò thì sư phụ đã té trước rồi]
 
Lần chỉnh sửa cuối:
Công thức của sư phụ báo lỗi ở các trường hợp 1,2,3,5,6,9 m.//**/ Do lỗi của hàm MOD.
Có thể trong thực tế không có độ dài ống như thế, nhưng công thức vẫn chưa bao quát hết.
[P/s: đang định bắt giò thì sư phụ đã té trước rồi]

Nói chung là: Tìm giải thuật trước, bẫy lỗi tính sau ấy mà
Và giờ là lúc để bẫy lỗi đây!
Nhưng sao chả thấy tác giả có ý kiến nhỉ? Làm mình cũng mất hứng
 
Nói chung là: Tìm giải thuật trước, bẫy lỗi tính sau ấy mà
Và giờ là lúc để bẫy lỗi đây!
Nhưng sao chả thấy tác giả có ý kiến nhỉ? Làm mình cũng mất hứng
Giải thuật của em là: Nếu độ dài <4, quy về lẻ, nếu 4<=dài<=9 sẽ có số lẻ ở 5,6,9m, nếu >=10 thì chắc chắn không có số lẻ, vì 3 và 4 chênh lệch 1 đơn vị luôn luôn có thể hoán đổi cho nhau để số lẻ bằng 0.
 
Cách xây dựng công thức tính số ống 4m của em :

*Nếu <4m => 0; Nếu <=10m, =>1
Tức là:=IF($B4<4,0,IF($B4<11,1,

* Nếu >10m: Sau khi chia cho 4, nếu số dư là:
1, để số dư =0, tương đương quy đổi giảm 2 ống 4m để có 9m, tương đương 3 ống 3m
2, tương đương quy đổi giảm 1 ống 4m để có 6m, tương đương 2 ống 3m

Tức là: INT($B4/$C$3)-IF(OR(MOD($B4,$C$3)=1,MOD($B4,$C$3)=2),3-MOD($B4,$C$3),0)

Vậy số ống 4m là:
=IF($B4<4,0,IF($B4<11,1,INT($B4/$C$3)-IF(OR(MOD($B4,$C$3)=1,MOD($B4,$C$3)=2),3-MOD($B4,$C$3),0)))

Số ống 3m làm theo công thức cũ của thầy ndu.
 
mình xin lỗi, công ty mạng chập chờn, nên mình ko lên được.theo mình thì L cống
 
Lần chỉnh sửa cuối:
Cách xây dựng công thức tính số ống 4m của em :

*Nếu <4m => 0; Nếu <=10m, =>1
Tức là:=IF($B4<4,0,IF($B4<11,1,

* Nếu >10m: Sau khi chia cho 4, nếu số dư là:
1, để số dư =0, tương đương quy đổi giảm 2 ống 4m để có 9m, tương đương 3 ống 3m
2, tương đương quy đổi giảm 1 ống 4m để có 6m, tương đương 2 ống 3m

Tức là: INT($B4/$C$3)-IF(OR(MOD($B4,$C$3)=1,MOD($B4,$C$3)=2),3-MOD($B4,$C$3),0)

Vậy số ống 4m là:
=IF($B4<4,0,IF($B4<11,1,INT($B4/$C$3)-IF(OR(MOD($B4,$C$3)=1,MOD($B4,$C$3)=2),3-MOD($B4,$C$3),0)))

Số ống 3m làm theo công thức cũ của thầy ndu.
Vậy ống 8m anh chia thành 1 ống 4m, 1 ống 3m còn 1m bỏ à?

Em đề xuất công thức này:
Mã:
C4=MAX(0,INT(B4/4)-MOD(3-MOD(B4,4),3)*(B4>5))
Mã:
D4=INT((B4-C4*4)/3)
Mã:
E4=B4-SUMPRODUCT($C$3:$D$3,C4:D4)
 
Lần chỉnh sửa cuối:
Cũng bài toán tương tự trên nhưng thay vì đốt cống 4m và 3m bây giờ là 2.5m và 1.5m.
Em vẫn dùng hàm trên 4 thay bằng 2.5 và 3 thay bằng 1.5.
sao kết quả vẫn có 1 vài số bị lỗi như 11m hay 38.5m...
anh nào biết giúp em với ^^
Công thức đó chỉ dùng cho điều kiện cố định đó thôi. Muốn tổng quát thì bạn xem file này.
 

File đính kèm

dạ cho e hỏi là cái hàm min(du) mình lập sao vậy a
Nhấn Ctrl + F3 , thấy du là cái này:

=MOD(Sheet1!$B4-(INT(Sheet1!$B4/Sheet1!$C$3)+1-ROW(INDIRECT("1:"&(INT(Sheet1!$B4/Sheet1!$C$3)+1))))*Sheet1!$C$3,Sheet1!$D$3)

Cấm không được giả sử thêm dấu hoặc nón làm mất thuần phong mỹ tục. _+)(9
 
Web KT

Bài viết mới nhất

Back
Top Bottom