Henk hỏi liệu có cách nào trong Excel để hiển thị một số sử dụng sáu chữ số, độc lập với vị trí của dấu thập phân. Ví dụ: 0,1 sẽ được hiển thị là 0,10000, 200 sẽ được hiển thị là 200.000 và 25000 sẽ được hiển thị là 25000.0.

Thật không may, không có định dạng nào sẽ thực hiện thủ thuật; tất cả định dạng hiển thị dường như phụ thuộc vào vị trí của dấu thập phân. Bạn có thể định dạng màn hình cho một số chữ số cụ thể sau dấu thập phân, nhưng số chữ số đó sẽ được sử dụng bất kể có bao nhiêu chữ số xuất hiện trước dấu thập phân.

Một số người đăng ký ExcelTips đã đưa ra đề xuất liên quan đến việc sử dụng công thức để hiển thị số như mong muốn. Ví dụ: công thức sau sẽ hiển thị giá trị trong A1 bằng sáu chữ số:

=FIXED(A1,IF(ABS(A1)<1,5,5-INT(LOG(ABS(A1)))),TRUE)

Những người đọc khác đã cung cấp các công thức dựa vào việc chuyển đổi số thành chuỗi văn bản và hiển thị nó như vậy. Tuy nhiên, việc chuyển đổi một số sang dạng văn bản tương đương với nó có nhược điểm rõ ràng là không thể sử dụng số đó trong các công thức khác. (Hãy nhớ rằng tại thời điểm này nó là văn bản, không phải là số.) Công thức trên không có giới hạn đó.

Nếu bạn muốn, bạn cũng có thể sử dụng macro để đặt định dạng trong ô chứa giá trị. Ưu điểm của macro như vậy là bạn không phải sử dụng ô cho công thức, như được hiển thị ở trên. Hạn chế đối với macro là bạn cần nhớ chạy nó trên các ô bất cứ khi nào giá trị bên trong chúng thay đổi. Macro sau đây là một ví dụ về cách tiếp cận như vậy:

Sub SetFigures()

Dim iDecimals As Integer     Dim bCommas As Boolean     Dim sFormat As String     Dim CellRange As Range     Dim TestCell As Range

bCommas = False 'Change as desired

Set CellRange = Selection     For Each TestCell In CellRange         If Abs(TestCell.Value) < 1 Then             iDecimals = 5         Else             iDecimals = 5 - Int(Log(Abs(TestCell.Value)) / Log(10#))

End If

sFormat = "0"

If bCommas Then sFormat = "#,##0"

If iDecimals < 0 Then sFormat = "General"

If iDecimals > 0 Then sFormat = sFormat & _           "." & String(iDecimals, "0")



TestCell.NumberFormat = sFormat     Next TestCell End Sub

Để sử dụng macro, chỉ cần chọn các ô bạn muốn định dạng, sau đó thực thi nó. Mỗi ô trong phạm vi bạn đã chọn được đặt để hiển thị sáu chữ số, trừ khi số trong ô quá lớn hoặc quá nhỏ.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (1933) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: