Làm cách nào để tách số theo dấu thập phân của nó trong Excel / Calc?


10

Tôi đã có một số trong bảng tính như vậy: 28.686279

Khi tôi mở trang tính này trong LibreScript Calc hoặc Microsoft Excel, có một hàm công thức trả về "toàn bộ số", tức là 28. Ngoài ra, có một công thức trả về "phần thập phân" không, 0.686279phải không?

Câu trả lời:


15

TRUNC() được thiết kế để loại bỏ phần thập phân của bất kỳ số nào ngay lập tức và không có bất kỳ sửa đổi nào đối với phần không thập phân.

Vì vậy, theo câu trả lời của LinYan , bạn chỉ cần sử dụng:

  • TRUNC(A1) để có được phần nguyên của giá trị trong A1
  • A1-TRUNC(A1) để có được phần phân số của giá trị trong A1

Không giống như FLOOR(), TRUNC()hoạt động trên cả số dương và số âm mà không cần điều chỉnh và hoạt động theo cùng một cách trong cả Microsoft Excel và LibreOffice.

FLOOR() yêu cầu tham số quan trọng phải có cùng dấu với số đang được xử lý (nếu không sẽ gây ra lỗi), do đó, 1cuối cùng sẽ phải thay đổi -1để xử lý số âm hoặc bạn có thể chèn SIGN()và làm phức tạp thêm công thức một cách không cần thiết.

Và, trong OpenOffice và LibreOffice, FLOOR()cũng có một tham số "chế độ" thứ ba (so với Excel) bổ sung để thay đổi kết quả mà hàm trả về cho các số âm.


7

bạn có thể thử FLOORhàm, floor(A1,1) cho phần nguyên của A1, A1-floor(A1,1)cho phần thập phân của A1.


1
Chỉ cần tự hỏi, tại sao không có một số dạng hàm FRAC (A1) để lấy phần thập phân? Có vẻ như đó là điều mọi người làm khá thường xuyên, phải không?
Alexis Wilke

Làm thế nào về tiêu cực ...
Robert Koritnik

5

Ví dụ: hãy tưởng tượng A1 là 167,583:
int(A1)sẽ cho 167 và
mod(A1,1)sẽ cho 0,583.


Bạn nhận ra điều đó int(1.6) === 1int(-1.6) === -2... Nhưng trunc(decimal;0)hoạt động chính xác cho cả hai.
Robert Koritnik

1

Đừng nghĩ rằng có một chức năng cụ thể để làm điều này, tuy nhiên bằng cách lồng một vài cái bạn có thể.

Giả sử bạn đang cố trả về giá trị thập phân bên phải cho ô A1, công thức sẽ là:

=MID(A1,SEARCH(".",A1,1)+1,LEN(A1))

Thực tế, những gì bạn đang làm ở đây là sử dụng hàm MID để trả về một số lượng ký tự bắt đầu từ dấu thập phân. Tất cả 3 tham chiếu đến A1 cần được cập nhật cho mỗi ô bạn đang nhắm mục tiêu để nó hoạt động chính xác.


Điều này trả về văn bản chứ không phải là một số.
fixer1234

-3
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)

Điều này sẽ không hoàn hảo, và thẩm mỹ nữa chứ?


Điều này trả về văn bản chứ không phải là một số.
fixer1234
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.