Làm cách nào để ngăn chặn TEXT () làm tròn số


1

Tôi đang cố gắng hiển thị tỷ lệ phần trăm đến 1 chữ số thập phân, ở giữa chuỗi văn bản bằng cách sử dụng

="..." & TEXT(A1/A2,"0.0%") & "..." (giản thể)

Nhưng giá trị của tôi tiếp tục làm tròn thành số nguyên như 5thay vì 4.9cho 4.99995

Tôi đã xem tài liệu chính thức của Microsoft nhưng theo như tôi có thể nói "0.0%"nên làm những gì tôi muốn, thì nó không đề cập đến việc làm tròn ở đó.

Tôi cũng đã thử "0.#%"làm chuỗi định dạng của mình, nhưng nó có cùng một vấn đề làm tròn, tôi không muốn sử dụng "0.####%"vì tôi không muốn hiển thị nhiều vị trí thập phân.

Ví dụ đầu ra

Input      Output     Desired Output
4.99     ...5.0%...     ...4.9%...
4.89     ...4.9%...     ...4.8%...
4.5      ...4.5%...     ...4.5%...
4.55     ...4.6%...     ...4.5%...
4.54     ...4.5%...     ...4.5%...
4.8994   ...4.9%...     ...4.8%...

Chuyện gì xảy ra với 4.8994?
Mark Fitzgerald

1
TEXT(INT(A/B*1000)/1000,"0.0%")
Máté Juhász

1
Đây không phải là một hack, đây là một giải pháp cho một vấn đề khá hiếm gặp, như tôi đã giải thích ở trên, những gì bạn cố gắng làm không phải là một người thường làm.
Máté Juhász

1
Cách tiếp cận khác có thể là sử dụng ROUNDDOWN hoặc TRUNC, chúng hoạt động tương tự nhau, sự khác biệt là trong hành vi của chúng với các số âm (vòng TRUNC thành 0, vòng ROUNDDOWN thành số nguyên nhỏ hơn)
Máté Juhász

1
@ MátéJuhász TRUNCchính xác là những gì tôi đang tìm kiếm, giải pháp là="..." & TRUNC((A1/A2) * 100, 1) & "%..."
Troyseph
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.