Lỗi khi đổi số ra chữ bi sai.

Liên hệ QC

0944956879

Thành viên mới
Tham gia
22/12/11
Bài viết
8
Được thích
1
Khi đổi từ chữ sang số đọc không đúng giá trị của số tiền, bác nào rành chỉ dùm e phat. thanks
 

File đính kèm

File đính kèm

Lần chỉnh sửa cuối:
day ca file nhu vay ban xem dum xem sai o cho nao ma doi ra chu bi sai hoai

Tôi đã nói:

LƯU Ý: Phải gõ chữ có dấu Tiếng Việt!

Tôi nghĩ bạn sửa lại các bài viết thiếu dấu tiếng Việt, sau đó tôi hoặc mọi người sẽ chỉ cho bạn chỗ mà bạn bị sai. Hoặc là bài của bạn chờ bị xóa đi.


Lưu ý khi gửi bài:
- Bài viết không dấu Tiếng Việt sẽ bị xóa
- Đặt tựa đề theo sát nội dung câu hỏi/ trả lời. Các bài viết có tựa đề chung chung như
Help me, cứu cứu, cứu em, gấp gấp,... sẽ bị xoá
- Giải thích/ mô tả câu hỏi càng chi tiết càng tốt
- Nên gửi thêm tập tin Excel kèm chú thích về câu hỏi nếu có
Xem thêm Nội Quy Diễn Đàn
 
Lần chỉnh sửa cuối:
Bác nào giỏi Excel giúp e với mấy bác

Tôi đã nói:



Tôi nghĩ bạn sửa lại các bài viết thiếu dấu tiếng Việt, sau đó tôi hoặc mọi người sẽ chỉ cho bạn chỗ mà bạn bị sai. Hoặc là bài của bạn chờ bị xóa đi.


Lưu ý khi gửi bài:
- Bài viết không dấu Tiếng Việt sẽ bị xóa
- Đặt tựa đề theo sát nội dung câu hỏi/ trả lời. Các bài viết có tựa đề chung chung như
Help me, cứu cứu, cứu em, gấp gấp,... sẽ bị xoá
- Giải thích/ mô tả câu hỏi càng chi tiết càng tốt
- Nên gửi thêm tập tin Excel kèm chú thích về câu hỏi nếu có
Xem thêm Nội Quy Diễn Đàn
Vội quá quên mất không viết có dấu, muốn sửa lại ko có được. Bác sửa lại giúp e phát nhé :D
 
Tôi thấy không sai chổ nào cả. Hình như đơn giá bạn bị sai thì phải???
 

File đính kèm

Lỗi

Trước khi nói điểm sai của bạn, cho tôi hỏi, bạn có số tổng trong bài này là 1,877.600 là 1 ngàn 8 trăm 77 chấm 600 phải không? Hay bạn cho số đó là 1 triệu 8 trăm 77 ngàn ...?
số đó phải là một triệu tám trĂM bảy mươi bảy nghìn.... e muốn sửa thế đấy bác ạ
 
Vâng, đó bài sau, bạn thử tải về tại bài này xem có lỗi không?

http://www.giaiphapexcel.com/forum/...-khi-đổi-số-ra-chữ-bi-sai&p=442492#post442492


Cái sai cơ bản của bài này là định dạng font! Lúc thì font UNICODE, lúc thì font VNI nên cứ rối tung lên! Đã thế code bị sai.
Minh không nói Nghĩa, mình nói chủ topic kìa, giá sai mà bắt hàm đúng làm sao được (đơn vị tính đấy)
 
số đó phải là một triệu tám trĂM bảy mươi bảy nghìn.... e muốn sửa thế đấy bác ạ

Nếu như vậy thì một là bạn phải sửa lại bảng đơn giá, hai là công thức trong bảng Phiếu giao hàng, cột đơn giá phải như vầy:

=VLOOKUP($C8,'MA HANG'!$B$6:$G$81,4,0)*1000

Hàm DocSo của bạn bị sai do bạn chép bị sai nên tôi sửa lại tí. Với hàm này chỉ sử dụng cho Unicode nên bạn phải định dạng ở font Unicode mới thực hiện đúng.

PHP:
Function DocSo(Number) As String
    Dim MyArray, Str
    Str = Format(Abs(Number), "000000000000000000")
    MyArray = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", _
                    "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ", _
                    "tri" & ChrW(7879) & "u, ", "ngàn, ", "t" & ChrW(7927) & ", ", _
                    "tri" & ChrW(7879) & "u, ", "ngàn, ", "", "tr" & ChrW(259) & "m ", _
                    "m" & ChrW(432) & ChrW(417) & "i ", "không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ", _
                    "không " & "m" & ChrW(432) & ChrW(417) & "i", "l" & ChrW(7867), _
                    "m" & ChrW(432) & ChrW(417) & "i" & " không", "m" & ChrW(432) & ChrW(7901) & "i", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m", _
                    "m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i", _
                    "m" & ChrW(432) & ChrW(7901) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t", "Âm ")
    
    If Number = 0 Then
        DocSo = MyArray(0)
    Else
        DocSo = ""
    End If
    For i = 1 To Len(Str)
        If Left(Str, i) <> 0 And Mid(Str, (Int((i + 2) / 3) - 1) * 3 + 1, 3) <> 0 Then
            DocSo = DocSo & MyArray(Mid(Str, i, 1)) & MyArray(-(9 + i / 3) * (i Mod 3 = 0) - (15 + i Mod 3) * (i Mod 3 <> 0))
        ElseIf i = 9 And Mid(Str, 7, 3) = 0 And Left(Str, 6) <> 0 Then
            DocSo = DocSo & MyArray(12)
        End If
    Next
    DocSo = Trim(Replace(Replace(Replace(Replace(Replace(Replace(DocSo, MyArray(18), _
                 MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), _
                 MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)))
    
    If Number < 0 Then
        DocSo = MyArray(29) & DocSo
    End If
    
    DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."
End Function
 

File đính kèm

Nếu như vậy thì một là bạn phải sửa lại bảng đơn giá, hai là công thức trong bảng Phiếu giao hàng, cột đơn giá phải như vầy:

=VLOOKUP($C8,'MA HANG'!$B$6:$G$81,4,0)*1000

Hàm DocSo của bạn bị sai do bạn chép bị sai nên tôi sửa lại tí. Với hàm này chỉ sử dụng cho Unicode nên bạn phải định dạng ở font Unicode mới thực hiện đúng.

PHP:
Function DocSo(Number) As String
    Dim MyArray, Str
    Str = Format(Abs(Number), "000000000000000000")
    MyArray = Array("không ", "m" & ChrW(7897) & "t ", "hai ", "ba ", "b" & ChrW(7889) & "n ", _
                    "n" & ChrW(259) & "m ", "sáu ", "b" & ChrW(7843) & "y ", "tám ", "chín ", _
                    "tri" & ChrW(7879) & "u, ", "ngàn, ", "t" & ChrW(7927) & ", ", _
                    "tri" & ChrW(7879) & "u, ", "ngàn, ", "", "tr" & ChrW(259) & "m ", _
                    "m" & ChrW(432) & ChrW(417) & "i ", "không " & "m" & ChrW(432) & ChrW(417) & "i" & " không ", _
                    "không " & "m" & ChrW(432) & ChrW(417) & "i", "l" & ChrW(7867), _
                    "m" & ChrW(432) & ChrW(417) & "i" & " không", "m" & ChrW(432) & ChrW(7901) & "i", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " n" & ChrW(259) & "m", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " l" & ChrW(259) & "m", _
                    "m" & ChrW(7897) & "t " & "m" & ChrW(432) & ChrW(417) & "i", _
                    "m" & ChrW(432) & ChrW(7901) & "i", "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7897) & "t", _
                    "m" & ChrW(432) & ChrW(417) & "i" & " m" & ChrW(7889) & "t", "Âm ")
    
    If Number = 0 Then
        DocSo = MyArray(0)
    Else
        DocSo = ""
    End If
    For i = 1 To Len(Str)
        If Left(Str, i) <> 0 And Mid(Str, (Int((i + 2) / 3) - 1) * 3 + 1, 3) <> 0 Then
            DocSo = DocSo & MyArray(Mid(Str, i, 1)) & MyArray(-(9 + i / 3) * (i Mod 3 = 0) - (15 + i Mod 3) * (i Mod 3 <> 0))
        ElseIf i = 9 And Mid(Str, 7, 3) = 0 And Left(Str, 6) <> 0 Then
            DocSo = DocSo & MyArray(12)
        End If
    Next
    DocSo = Trim(Replace(Replace(Replace(Replace(Replace(Replace(DocSo, MyArray(18), _
                 MyArray(15)), MyArray(19), MyArray(20)), MyArray(21), MyArray(22)), _
                 MyArray(23), MyArray(24)), MyArray(25), MyArray(26)), MyArray(27), MyArray(28)))
    
    If Number < 0 Then
        DocSo = MyArray(29) & DocSo
    End If
    
    DocSo = UCase(Left(DocSo, 1)) & Mid(DocSo, 2) & "."
End Function
được rùi bác ơi thanks bác nhiều nhé.
 
Web KT

Bài viết mới nhất

Back
Top Bottom