Bạn không nên dùng chức năng Format bởi trong một vài trường hợp, kết quả sẽ là hỗn số chứ không phải phân số.
Nếu bạn không muốn dùng VBA thì có thể dùng hàm của Excel:
là hàm lấy UCLN, hàm đó là GCD. Nhưng trước hết bạn cần vào:
Tools - Add ins, trong hộp Add ins bạn chọn Analysis ToolPak, rồi OK.
Bạn cần phân tích các số thập phân ra, thành dạng gồm tử số và mẫu số nguyên, rồi sau đó tiến hành lấy UCLN của tử và mẫu, rồi biến nó thành chuỗi.
Cách làm như sau:
Bạn đếm bằng mắt xem, phần thập phân có mấy con số, giả sử là n.
Nhân số thập phân của bạn cho 10^n để có tử số, còn mẫu số là 10^n
VD: 1.02 Có 2 chữ số ở phần thập phân, nên có thể đổi nó thành phân số là 102/100
Trong đó 102 là 1.02*(10^2), còn 100 là 10^2.
Bạn nên định dạng cho cột chứa số thập phân, để các số thập phân đều có cùng lượng chữ số sau dấu phẩy. Để có thể thống nhất được số n ở trên, và dế tính toán hơn, Làm như vậy trông cũng đẹp mắt hơn.
VD:
1.050
2.100
0.003
Ở đây mình định dạng là 3 số ở phần thập phân, như vậy, tử số sẽ là: (số thập phân*1000), còn mẫu số sẽ là: 1000.
Để tìm UCLN bạn dùng hàm sau: GCD(tử số, mẫu số)
Tiếp theo chia tử và mẫu cho UCLN vừa tìm được để đơn giản phân số, rồi nối chúng lại thành chuỗi bằng hàm
TEXT(tử sau khi rút gọn,0) & "/" & TEXT(mẫu sau khi rút gọn,0)