Tôi ví dụ thử 1 dòng để tác giả tiếp tục thực hiện, nếu làm sẵn hết thì mất hứng thú cho người ta - tôi nghĩ vậy.
Công nhận cách làm của bạn cũng là một cách hay.. Nó giống như "tra từ điển" vậy.
Nhưng như thế thì "mắc công" quá... Chẳng lẽ dời sang Sheet khác, hoặc mở file khác, lại phải chép cái cuốn từ điển này mang theo sao?
Có thể bạn nói rằng cách của tôi trình bày ở trên còn mắc công hơn gấp bội.. nào là tải Addin về, giải nén nó ra, cài vào Excel, rồi thoát Excel, sửa Option, rồi khi đó mới xài được cái công thức dài ngoằng đó.
Vâng, cũng mắc công thật, vì tạm thời tôi chưa nghĩ ra cách gì nhanh hơn, mà cũng tại vì trong máy tôi đã có sẵn cái Addin này. Nhưng, chỉ mắc công một lần thôi, sau đó thì "phẻ re"... Và ngoài cái chuyện "phẩy" này, Addin mà tôi giới thiệu còn làm được nhiều chuyện khác, nếu như các bạn có sẵn nó trong Excel, thật đấy!
Cái công thức của tôi, không chỉ đọc được 0.25, 0.5 mà thôi đâu.. nó đọc tuốt... 1,1 là "một phẩy một", 3,46 là "ba phẩy bốn mươi sáu", ví dụ thế... Chỉ có điều, thiết nghĩ rằng điểm trong lớp học chỉ có 2 số lẻ là tối đa, nên tôi chỉ cho nó đọc tới 2 số lẻ thôi, còn nhiều hơn thì hỏng đúng đâu nghe.
À, nói thêm, chính xác thì nó vẫn đọc mấy số có nhiều hơn 2 số lẻ, nhưng hơi tức cười. Ví dụ: thường chúng ta đọc 5.125 là "năm phẩy một hai lăm", còn công thức của tôi đọc là "năm phẩy một trăm hai mươi lăm"... vậy đó.
Đã nói thì nói cho hết. Công thức của tôi, không dám nói là đúng nhất đâu nghe... Tôi nghĩ rằng sẽ có nhiều bạn khác nghĩ ra cái gì đó "ngon" hơn nhiều, không dùng đến Addin chẳng hạn!
Thuật toán của bài toán này, theo tôi nghĩ, là tách con số thành 2 phần (nếu như điểm không phải là số nguyên), sau đó dùng hàm đọc số ra chữ, cho đọc 2 lần, một lần cho phần nguyên, và một lần cho phần lẻ, ghép lại với nhau với chữ "phẩy" ở giữa, là xong. Với điểm chạy từ 1 đến 10, có lẽ sẽ có ai đó viết dùm một cái UDF ngắn ngủn và hay hơn nhiều... mong thay!