- Tham gia
- 12/12/06
- Bài viết
- 3,661
- Được thích
- 18,158
J3 = IF(H3="",0,--SUBSTITUTE(SUBSTITUTE(H3,".","");CHAR(10),""))
Fill qua phải và xuống dưới. Huynh Gân hôm nay sao lại hỏi thay con gái, sao không bảo con gái tự hỏi cho quen. Mai mốt lấy chồng thì làm sao? Chả lẽ: Bố ơi, bố hỏi mẹ chồng con dùm con xem hũ muối mẹ con để ở đâu?
Í, ủa? Sao huynh Gân convert thế nào mà ba hồi dấu chấm hàng ngàn, ba hồi dấu phẩy hàng ngàn vậy kà?
Vậy là công thức trên hông có xài được rồi.
Cái này chắc phải dùng Macro. Bác dùng cái này thử xem sao:Con gái cưng gởi file qua nhờ mình giúp bài toán này. Nhờ các bạn giúp mình chuyển đổi dữ liệu text sang số cho cột H và I. Chú ý: File nguyên thủy là pdf đã converter sang xls.
Xin cám ơn.
Sub ToNumber()
Dim Cll As Range
Application.ThousandsSeparator = ","
Application.DecimalSeparator = "."
Application.UseSystemSeparators = False
For Each Cll In Selection
If IsNumeric(Replace(Cll.Text, ".", "")) Then Cll.Value = CLng(Replace(Cll.Text, ".", ""))
Next
Application.UseSystemSeparators = True
Selection.NumberFormat = "General"
Selection.HorizontalAlignment = xlGeneral
End Sub
Cách này không được đâu bạn ơi. Trong trường hợp dữ liệu ban đầu là một số nhỏ hơn 1000 thì công thức của bạn cũng nhân với 1000. Kết quả sẽ nhân lên 1000 lần.Eureka! hahaha! đã tìm ra!
Huynh Gân chụp hình thì tất cả là dấu chấm, vì máy huynh set control panel dấu chấm thập phân. Thực tế, số nào 1 dấu chấm (nhỏ hơn 1 triệu trên thực tế), sẽ bị coi là dấu chấm thập phân, và convert thành số và 3 số cuối bị coi là số thập phân. Số nào 1 triệu trở lên, tức là có 2 dấu chấm trở lên, bị coi là text.
Bỏ định dạng canh trái sẽ thấy: Text nằm bên trái, Số nằm bên phải.
View attachment 58989
Còn muội set control panel là dấu phẩy thập phân, nên thấy text thì có 2 hoặc 3 dấu chấm, số thì 1 dấu phẩy và 3 số không thập phân.
View attachment 58990
Nếu chưa bỏ canh trái thì nhìn giống như dấu phẩy hàng ngàn.
View attachment 58992
Biết bịnh rồi thì trị thôi haha:
J3 =IF(H3="",0,IF(ISNUMBER(H3),H3*1000,--SUBSTITUTE(SUBSTITUTE(H3,".",""),CHAR(10),"")))
Cám ơn bạn Hữu Thắng nhen, nhưng ngocmai đã xem trong 3 sheet không có số nào nhỏ hơn 1000, vả lại, đã lâu lắm rồi kế toán không phải hạch toán số tiền dưới 1000 đồng vn nữa rồi. Giá chót là 10000, VAT 1000Cách này không được đâu bạn ơi. Trong trường hợp dữ liệu ban đầu là một số nhỏ hơn 1000 thì công thức của bạn cũng nhân với 1000. Kết quả sẽ nhân lên 1000 lần.
Ví dụ 500 sẽ trả về 500.000
sealand đã viết:=IF(LEN(SUBSTITUTE(CLEAN(SUBSTITUTE(H3,".","")),", ","."))>0,SUBSTITUTE(CLEAN(SUBSTITUTE(H3,".","")), ",",".")*1,0)
Công thức của bác "xy lanh" không dùng được với số chẵn ngàn dưới 1 triệu rồi. Thí dụ số mà bác thấy tại ô H4 và I5 là 55.000, thực chất nó là 55 và định dạng 3 số thập phân, trên thanh công thức cũng hiển thị 55. Kết quả công thức "Xy lanh" là 55, đúng ra phải là 55000
Tương tự, là ô H10, H16, ...
Nó chỉ đúng cho số không chẵn ngàn thôi.
Chị ngocmaipretty chưa kiểm tra kỹ dữ liệu ở đoạn này rồi. Đây là vấn đề huuthang_bd đã phát hiện và nêu ra, nó thực chất chỉ là định dang thôi chứ không phải dữ liệu như vậy. Đây là các ô đã được thừa nhận đủ điều kiện chuyển sang dạng Number, ta có thể kiểm tra bằng hàm Value(). Các ô này lại được Format theo dạng (#,##0.000_);-#,##0.000 và nó làm ta sai lầm nếu chỉ cảm nhận bằng thị giác.
Cũng giống tình trạng nếu ô A1 ghi tiền giá trị 500 định dạng 0 "VND", nó sẽ hiển thị 500 VND. Nếu chỉ lấy số mà dùng công thức =left(A1,Len(A1)-3) thì hỏng mất
Đành rằng là trong dữ liệu của Bác Trí không có số nào dưới 1.000 nhưng bạn nói "đã lâu lắm rồi kế toán không phải hạch toán số tiền dưới 1000 đồng vn nữa rồi" là không đúng. Dẫu vật giá có leo thang thì trong kế toán vẫn có những chênh lệch khi thanh toán, chênh lệch tỷ giá hối đoái,... Đôi khi chỉ lệch 1 đồng thôi cũng phải mất cả ngày trời để kiểm tra lại đó.Cám ơn bạn Hữu Thắng nhen, nhưng ngocmai đã xem trong 3 sheet không có số nào nhỏ hơn 1000, vả lại, đã lâu lắm rồi kế toán không phải hạch toán số tiền dưới 1000 đồng vn nữa rồi. Giá chót là 10000, VAT 1000
(Hic, xăng mới lên giá 19.300 lúc 10 giờ sáng nay, chắc từ mai khỏi hạch toán cái gì dưới 10.000 luôn quá)
Công thức của bác "xy lanh" không dùng được với số chẵn ngàn dưới 1 triệu rồi. Thí dụ số mà bác thấy tại ô H4 và I5 là 55.000, thực chất nó là 55 và định dạng 3 số thập phân, trên thanh công thức cũng hiển thị 55. Kết quả công thức "Xy lanh" là 55, đúng ra phải là 55000
Tương tự, là ô H10, H16, ...
Nó chỉ đúng cho số không chẵn ngàn thôi.
Ngocmai cũng chỉ nói vui thôi mà. Tại thấy xăng lên giá nên bức xúc quá thôi. Một đồng cũng phải tìm cho ra thì kế toán ai cũng gặp phải, chênh lệch tỷ giá vài chục, vài trăm đồng cũng có luôn.Đành rằng là trong dữ liệu của Bác Trí không có số nào dưới 1.000 nhưng bạn nói "đã lâu lắm rồi kế toán không phải hạch toán số tiền dưới 1000 đồng vn nữa rồi" là không đúng. Dẫu vật giá có leo thang thì trong kế toán vẫn có những chênh lệch khi thanh toán, chênh lệch tỷ giá hối đoái,... Đôi khi chỉ lệch 1 đồng thôi cũng phải mất cả ngày trời để kiểm tra lại đó.