a.nguoidensau
Thành viên hoạt động
- Tham gia
- 12/4/12
- Bài viết
- 138
- Được thích
- 28
Ai đặt ra cái quy tắc làm tròn ngộ vậy trời? Cùng là số 1.5 mà ở hàng 2 thì làm tròn thành 1, xuống hàng 10 thì làm tròn thành 2. Vậy thì biết đường nào mà xử?Xin chào mọi người, tôi có 1 dãy số cần làm tròn như trong File, nhưng tôi lại chưa biết cách, ai biết xin chỉ giúp tôi.
Xin chân thành cảm ơn.
=IF(ISODD(A2),ROUNDUP(A2,0),ROUNDDOWN(A2,0))
=ROUNDUP(A2,0)-ISEVEN(A2)
Cảm ơn bạn đã quan tâm, việc làm tròn số đấy gọi là "chẵn lấy lẻ bỏ" không phải là do mình nghĩ ra, mà do quy định của ngành nghề mà.Ai đặt ra cái quy tắc làm tròn ngộ vậy trời? Cùng là số 1.5 mà ở hàng 2 thì làm tròn thành 1, xuống hàng 10 thì làm tròn thành 2. Vậy thì biết đường nào mà xử?
Nếu số 1.5 ở hàng 2 được làm tròn thành 2 thì tôi dự đoán ra quy tắc thế này: Nếu phần nguyên là số lẻ thì làm tròn lên, ngược lại thì làm tròn xuống (đến đơn vị). Với quy tắc này thì công thức sẽ là:
Hoặc:Mã:=IF(ISODD(A2),ROUNDUP(A2,0),ROUNDDOWN(A2,0))
Mã:=ROUNDUP(A2,0)-ISEVEN(A2)
Trước hết, tôi nhầm một chút ở công thức trên: Thay vì gõ ISODD(A2) thì phải sửa lại thành ISODD(QUOTIENT(A2,1)), tương tự cho hàm ISEVEN.Cảm ơn bạn đã quan tâm, việc làm tròn số đấy gọi là "chẵn lấy lẻ bỏ" không phải là do mình nghĩ ra, mà do quy định của ngành nghề mà.
Còn 2 công thức mà bạn giúp mình không hiểu sao chỉ thấy báo #NAME? , vì mình dùng Office 2003. Bạn xem lại giúp mình, xin cảm ơn bạn.
=IF(MOD(QUOTIENT(A2,1),2),ROUNDUP(A2,0),ROUNDDOWN(A2,0))
=ROUNDDOWN(A2,0)+MOD(QUOTIENT(A2,1),2)
Thật là buồn vì mình đã làm theo hướng dẫn của bạn mà vẫn chưa được.Trước hết, tôi nhầm một chút ở công thức trên: Thay vì gõ ISODD(A2) thì phải sửa lại thành ISODD(QUOTIENT(A2,1)), tương tự cho hàm ISEVEN.
Hiện tại tôi không dùng Excel 2003 nên không nhớ chính xác là trên Excel 2003 có 2 hàm ISODD và ISEVEN không. Nếu không có thì bạn có thể thay 2 công thức trên bởi 2 công thức này:
Mã:=IF(MOD(QUOTIENT(A2,1),2),ROUNDUP(A2,0),ROUNDDOWN(A2,0))
Mã:=ROUNDDOWN(A2,0)+MOD(QUOTIENT(A2,1),2)
Phúc cho hỏi sao không dùng hàm INT mà dùng hàm QUOTIENT (lấy phần nguyên của 1 phép chia)?Trước hết, tôi nhầm một chút ở công thức trên: Thay vì gõ ISODD(A2) thì phải sửa lại thành ISODD(QUOTIENT(A2,1)), tương tự cho hàm ISEVEN.
Hiện tại tôi không dùng Excel 2003 nên không nhớ chính xác là trên Excel 2003 có 2 hàm ISODD và ISEVEN không. Nếu không có thì bạn có thể thay 2 công thức trên bởi 2 công thức này:
Mã:=IF(MOD(QUOTIENT(A2,1),2),ROUNDUP(A2,0),ROUNDDOWN(A2,0))
Mã:=ROUNDDOWN(A2,0)+MOD(QUOTIENT(A2,1),2)
Bạn xem trong file này xem sao. Trong đó tôi có chụp một cái hình mà công thức tính được trên máy tôi (Excel 2010), chứng tỏ rằng công thức có trả về kết quả.Thật là buồn vì mình đã làm theo hướng dẫn của bạn mà vẫn chưa được.
Bạn đổi dấu "," thành dấu chấm phẩy ";" xem sao?Thật là buồn vì mình đã làm theo hướng dẫn của bạn mà vẫn chưa được.
=ROUNDDOWN(A2;0)+MOD(QUOTIENT(A2;1);2)
Hàm INT hay hàm QUOTIENT thì với trường hợp này cũng như nhau thôi mà.Phúc cho hỏi sao không dùng hàm INT mà dùng hàm QUOTIENT (lấy phần nguyên của 1 phép chia)?
Với số 1.5, nếu "chẵn lấy lẻ bỏ" thì đây là số lẻ, vậy phải làm tròn lên 2, sao a.nguoidensau lại cho kết quả là 1?
Office 2003 thì bạn dùng cái này!Còn 2 công thức mà bạn giúp mình không hiểu sao chỉ thấy báo #NAME? , vì mình dùng Office 2003. Bạn xem lại giúp mình, xin cảm ơn bạn.
=FLOOR(ROUNDUP(A2,0),2)
Lạ thật, công thức giống y chang nhau mà 1 file cho kết quả( bài#7), 1 file không(bài#3). Nhưng có 1 điều đặc biệt là khi mình đưa con trỏ về cuối công thức D2 của bạn nghiaphuc và Enter thì lại cho kết quả #NAME? Mình không thể hiểu được tại sao lại như vậy.Bạn xem trong file này xem sao. Trong đó tôi có chụp một cái hình mà công thức tính được trên máy tôi (Excel 2010), chứng tỏ rằng công thức có trả về kết quả.
Bạn đổi dấu "," thành dấu chấm phẩy ";" xem sao?Mã:=ROUNDDOWN(A2;0)+MOD(QUOTIENT(A2;1);2)
Office 2003, bạn phải cài Analysis ToolpakLạ thật, công thức giống y chang nhau mà 1 file cho kết quả( bài#7), 1 file không(bài#3). Nhưng có 1 điều đặc biệt là khi mình đưa con trỏ về cuối công thức D2 của bạn nghiaphuc và Enter thì lại cho kết quả #NAME? Mình không thể hiểu được tại sao lại như vậy.
Sorry vì không đọc mấy bài ở trên. Bạn dùng công thức ở bài #11 điKhông phải do dấu " ;" hay ", " đâu bạn ah
Đúng là công thức của bạn phù hợp với Office 2003, vấn đề của mình đã được giải quyết. Mình xin cảm ơn bạn suu16b, nghiaphuc và những người khác đã quan tâm tới vướng mắc của mình. Xin chào mọi người.Office 2003 thì bạn dùng cái này!Mã:=FLOOR(ROUNDUP(A2,0),2)
Mình xin lỗi các bạn vì sự sơ xuất, lẽ ra 1.5 phải làm tròn là 2.0Hàm INT hay hàm QUOTIENT thì với trường hợp này cũng như nhau thôi mà.
Còn vấn đề thứ 2 mà Thảo thắc mắc thì mình cũng đã thắc mắc ngay tại bài #2 rồi đó, nhưng chưa thấy tác giả phản hồi gì.
Lại có không ổn rồi bạn susu16b và mọi người ơi!Sorry vì không đọc mấy bài ở trên. Bạn dùng công thức ở bài #11 đi
Do file bạn đưa thì 0,5->1, nếu vậy thì bạn thêm vàoLại có không ổn rồi bạn susu16b và mọi người ơi!
Không ổn ở chỗ: Nếu cột A mà có các số từ 0.1 đến 0.99 thì số làm tròn lại là 0. Nói cụ thể là những số nào có đuôi .5 thì mới áp dụng như công thức của bạn suu16, còn những số lớn hơn .5 thì phải tăng lên 1 đơn vị, ví dụ 0.6 , 0.75.......---> làm tròn 1.0 .
=IF(AND(A9>0.5,A9<=1),1,FLOOR(ROUNDUP(A9,0),2))
Do file bạn đưa thì 0,5->1, nếu vậy thì bạn thêm vàoMã:=IF(AND(A9>0.5,A9<=1),1,FLOOR(ROUNDUP(A9,0),2))