Gửi bởi
phantuanviet
Mình đánh nhầm
số nhỏ hơn 10000 và có 2 chữ số phần thập phân
tách ra được nhưng không kết hợp với vlookup được ???
Xin giúp đỡ
Bạn dùng cái này thử xem:
Mở VBE (Alt+F11), Insert một Module, rồi trong Module đó gõ cái này vào:
Mã nguồn PHP:
Function TachSo(ConSo, Optional Vitri = 1)
If Len(Int(ConSo)) > 4 Then TachSo = "Incorect Number!": Exit Function
If Len(ConSo) = Len(Int(ConSo)) Then
If Vitri > Len(Int(ConSo)) Then TachSo = "Missing Number!": Exit Function
Else
If Vitri > Len(ConSo) - 1 Then TachSo = "Missing Number!": Exit Function
If Vitri >= WorksheetFunction.Find(".", ConSo) Then Vitri = Vitri + 1
End If
TachSo = Mid(ConSo, Vitri, 1) * 1
End Function
Ra ngoài bảng tính, ví dụ con số bạn đang để ở ô A1, và bạn muốn tách con số này ra từng con số bắt đầu từ hàng thứ 2 (từ ô A2), tại ô A2 bạn gõ công thức:
40pxRồi kéo xuống dưới.
Nếu như kết quả bạn nhận được là "Missing Number!" thì đó là đã hết giới hạn chiều dài con số của bạn. Bạn xóa mấy cái ô đó đi là xong. Còn nếu như kết quả bạn nhận được là "Incorrect Number!" thì đó là do bạn đã xài một con số > 9999.
Nói thêm: Công thức này chỉ chạy đúng nếu như định dạng số bạn đang dùng là kiểu Mỹ (dấu phân cách hàng nghìn là dấu chấm). Lỡ như bạn dùng định dạng số kiểu Việt Nam (dấu phân cách hàng nghìn là dấu phẩy), thì bạn sửa cái dấu chấm của hàm FIND trong cái code của TachSo thành dấu phẩy:
Mã nguồn PHP:
If Vitri >= WorksheetFunction.Find(",", ConSo) Then Vitri = Vitri + 1