Khi sử dụng công thức để hợp nhất nội dung của nhiều ô thành một ô, Kris gặp khó khăn khi khiến Excel duy trì định dạng của các ô ban đầu. Ví dụ, giả sử rằng các ô A1 và B1 lần lượt chứa 1 và 0,33. Trong ô C1, anh ta nhập công thức sau:

=A1 & " : " & B1

Kết quả trong ô C1 trông như thế này:

1 : 0.3333333333

Lý do mà C1 kết quả không khớp với những gì được hiển thị trong B1 (0,33) là vì giá trị trong B1 không thực sự là 0,33. Bên trong, Excel duy trì các giá trị thành 15 chữ số, vì vậy nếu ô B1 chứa công thức như = 1/3, thì bên trong ô này được duy trì là 0,33333333333333. Tuy nhiên, những gì bạn thấy trong ô B1 phụ thuộc vào cách ô được định dạng. Trong trường hợp này, định dạng có thể được đặt để chỉ hiển thị hai chữ số sau dấu thập phân.

Tuy nhiên, có một số cách bạn có thể nhận được kết quả mong muốn trong ô C1. Một phương pháp là chỉ cần sửa đổi công thức của bạn một chút để các giá trị được lấy từ các ô A1 và B1 được định dạng. Ví dụ, ví dụ sau sử dụng hàm TEXT để thực hiện định dạng:

=TEXT(A1,"0") & " : " & TEXT(B1,"0.00")

Trong trường hợp này, A1 được định dạng để chỉ hiển thị số nguyên và B1 được định dạng để chỉ hiển thị hai chữ số thập phân .. Bạn cũng có thể sử dụng hàm ROUND để đạt được kết quả tương tự:

=ROUND(A1,0) & " : " & ROUND(B1,2)

Một giải pháp khả thi khác là thay đổi cách Excel xử lý độ chính xác trong sổ làm việc. Làm theo các bước sau:

  1. Chọn Tùy chọn từ menu Công cụ. Excel sẽ hiển thị hộp thoại Tùy chọn.

  2. Đảm bảo rằng tab Tính toán được hiển thị. (Xem Hình 1.)

  3. Đảm bảo rằng hộp kiểm Precision As Displayed được chọn.

  4. Bấm OK.

Bây giờ, Excel sử dụng độ chính xác hiển thị trên màn hình trong tất cả các phép tính và phép nối của nó thay vì thực hiện các phép tính với độ chính xác 15 chữ số đầy đủ mà nó thường duy trì. Mặc dù cách tiếp cận này có thể được chấp nhận đối với một số người dùng, nhưng đối với những người khác, nó sẽ đưa ra nhiều vấn đề hơn là cách giải quyết. Bạn sẽ cần xác định xem bạn có thể sống với độ chính xác thấp hơn hay không để có được định dạng đầu ra theo cách bạn mong đợi.

Vẫn còn một cách tiếp cận khác là tạo hàm do người dùng xác định của riêng bạn sẽ trả về những gì được hiển thị cho ô đích, thay vì những gì được lưu trữ ở đó. Macro sau sẽ hoạt động tốt trong vấn đề này:

Function FmtText(rng As Range)

Application.Volatile     FmtText = rng.Cells(1).Text End Function

Để sử dụng macro này, bạn sẽ sử dụng công thức như sau trong trang tính của mình:

=FmtText(A1) & " : " & FmtText(B1)

_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 (3213) á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: