PDA

View Full Version : Không muốn làm tròn số thì phải làm thế nào ???



Blad01
28-05-08, 05:20 PM
Tôi làm tiện ích tính điểm cho giáo viên có một vấn đề như sau mong các bạn chỉ giáo ?
Ví dụ: Cột A là điểm hệ số 2, trong cột này tôi muốn nhập điểm như sau:
1. Người sử dụng chỉ được nhập các điểm là số nguyên hoặc số thập phân từ 1 đến 10 (VD: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 hoặc 6,5 (sáu phẩy năm); 7,9 (bảy phẩy chín)...) với các số nguyên thì tôi có thể làm được còn với số thập phân tôi không biết phải làm sao để các số 6,5; 7,9 khi nhập excel sẽ không làm tròn thành các số nguyên (VD: 6.5 làm tròn thành 7...).
2. Các số là số thập phân như 6,0 (sáu phẩy không); 5,0 (năm phẩy không) khi nhập excel vẫn tự làm tròn thành số nguyên là 6 hoặc 5
Lưu ý:
Những định dạng này chỉ áp dụng đối với vùng lựa chọn mà thôi còn các vùng khác thì vẫn không ảnh hưởng gì.
Chân thành cảm ơn.

anhphuong
28-05-08, 05:51 PM
Bạn bôi đen toàn bộ vùng muốn định dạng số, vào menu Format/Cells trong thẻ Number, bạn chọn General trong Category
Muốn cho có 1 số thập phân( Ví dụ : 5,0 6,3 ...) thì trong thẻ Number chọn Number trong Category và chọn 1 trong Decimal places
Thân

Blad01
28-05-08, 06:42 PM
Cảm ơn anhphuong đã trả lời câu hỏi của mình. cách làm của bạn rất hiệu quả nhưng nó chưa giải quyết được một điều kiện nữa mà mình đã đưa ra ở đầu bài đó là những số thập phân như 5.0 (năm phẩy không) nó không tự làm tròn thành số nguyên là 5. Mong bạn xem hướng giải quyết bài toán cho chọn vẹn. Chân thành cảm ơn !

anhphuong
28-05-08, 07:10 PM
Bạn đọc lại câu mình viết ở hàng thứ 2

Muốn cho có 1 số thập phân( Ví dụ : 5,0 6,3 ...) thì trong thẻ Number chọn Number trong Category và chọn 1 trong Decimal places

Blad01
28-05-08, 07:27 PM
ơ sorry có lẽ bạn chưa hiểu ý của mình rồi, tất cả các số thập phân như từ 6.1 --> 6.9 mình muốn nó dữ nguyên như vậy khi nhập dữ liệu. Cái này bạn đã chỉ cách mình làm và làm được rồi. Nhưng với những số thập phân là 5.0 hoặc 6.0; 7.0... mình muốn nó tự làm tròn thành các số nguyên khi nhập dữ liệu. VD: 5.0 --> 5; 6.0 --> 6 ...
Trong ví dụ trên bài hướng dẫn của bạn rất hiệu quả nhưng khi mình nhập số 5 hoặc 6 ... vào excel thì nó nhảy 5 --> 5.0; 6 --> 6.0 ... điều này sai với đề bài mà mình yêu cầu.
Chân thành cảm ơn !

BNTT
28-05-08, 09:06 PM
Nếu bạn đã chọn có một số thập phân (ví dụ như 5.1, 5.2, 5.9...) thì bạn phải chấp nhận 5 là 5.0, nghĩa là số thập phân bằng 0, trong trường hợp bạn muốn Excel làm tự động.

Còn nếu bạn muốn khi nào có số lẻ thì để nguyên còn nếu số nguyên thì đừng có cái .0 ở sau, thì bạn phải tự làm bằng tay mà thôi, nghĩa là chỉ chọn những số lẻ mà định dạng theo một cách, rồi chọn những số nguyên để định dạng theo cách khác... Mà nếu như làm như vậy, e rằng rất mất thời gian.

Thành thật khuyên bạn, cứ để những con số như 5.0, 6.0.... có ảnh hưởng gì đến kết quả đâu ?

le tin
28-05-08, 09:07 PM
ơ sorry có lẽ bạn chưa hiểu ý của mình rồi, tất cả các số thập phân như từ 6.1 --> 6.9 mình muốn nó dữ nguyên như vậy khi nhập dữ liệu. Cái này bạn đã chỉ cách mình làm và làm được rồi. Nhưng với những số thập phân là 5.0 hoặc 6.0; 7.0... mình muốn nó tự làm tròn thành các số nguyên khi nhập dữ liệu. VD: 5.0 --> 5; 6.0 --> 6 ...
Trong ví dụ trên bài hướng dẫn của bạn rất hiệu quả nhưng khi mình nhập số 5 hoặc 6 ... vào excel thì nó nhảy 5 --> 5.0; 6 --> 6.0 ... điều này sai với đề bài mà mình yêu cầu.
Chân thành cảm ơn !
Tôi thấy để General được mà

SA_DQ
29-05-08, 06:02 AM
Tôi làm tiện ích tính điểm cho giáo viên có một vấn đề như sau mong các bạn chỉ giáo ?
Ví dụ: Cột A là điểm hệ số 2, trong cột này tôi muốn nhập điểm như sau:
1. Người sử dụng chỉ được nhập các điểm là số nguyên hoặc số thập phân từ 1 đến 10 . . .
2. Các số là số thập phân như 6,0 (sáu phẩy không); 5,0 (năm phẩy không) khi nhập excel vẫn tự làm tròn thành số nguyên là 6 hoặc 5
Lưu ý:
Những định dạng này chỉ áp dụng đối với vùng lựa chọn mà thôi còn các vùng khác thì vẫn không ảnh hưởng gì.
Chân thành cảm ơn.

Bạn thử macro này, xong cho biết kết quả của sự 'trời có lúc nắng, lúc mưa'


Option Explicit

Sub FormatNumbers()
Dim Rng As Range, Clls As Range

Set Rng = Selection: Rng.NumberFormat = "0.0"
For Each Clls In Rng
With Clls
If (10 * .Value) Mod 10 = 0 Then
.NumberFormat = "##"
Else
.NumberFormat = "#.#"
End If
End With
Next Clls
End Sub

tigertiger
29-05-08, 12:06 PM
Bạn thử macro này, xong cho biết kết quả của sự 'trời có lúc nắng, lúc mưa'



làm gì vất vả thế nhỉ

trước khi nhập bạn chỉ cần chọn vùng -> Format \ Cell ... \ Number --> chọn General (cái này theo mặc định ở book mới của excel mà)

.

anhphuong
29-05-08, 01:59 PM
Quá ư đơn giản mà, có gì là khó đâu. Tại bạn không đọc kỹ câu trả lời của tôi
Câu trả lời nằm ngay hàng đầu tiên, bạn xem lại cho kỹ nhé


Bạn bôi đen toàn bộ vùng muốn định dạng số, vào menu Format/Cells trong thẻ Number, bạn chọn General trong Category