Đặt ký tự và dịch ký tự đó ra bằng Hàm hoặc Ngôn ngữ VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tdnhandno

Thành viên mới
Tham gia
10/3/16
Bài viết
47
Được thích
1
Em muốn dịch nghĩa của 1 ô, ví dụ:
19Q1 thành Quý I/2019
19Q2 thành Quý II/2019
1901 thành Tháng 1/2019
1902 thành Tháng 2/2019
19CN thành Năm 2019
Bằng hàm hoặc Code VBA đều được ạ. Mong mọi người giúp đỡ
 

File đính kèm

Em muốn dịch nghĩa của 1 ô, ví dụ:
19Q1 thành Quý I/2019
19Q2 thành Quý II/2019
1901 thành Tháng 1/2019
1902 thành Tháng 2/2019
19CN thành Năm 2019
Bằng hàm hoặc Code VBA đều được ạ. Mong mọi người giúp đỡ
Cái này là do bạn mà.Bạn giải quyết bằng cách làm 1 bảng quy đổi rồi dùng hàm Vlookup sang là được mà.
 
Em muốn dịch nghĩa của 1 ô, ví dụ:
19Q1 thành Quý I/2019
19Q2 thành Quý II/2019
1901 thành Tháng 1/2019
1902 thành Tháng 2/2019
19CN thành Năm 2019
Bằng hàm hoặc Code VBA đều được ạ. Mong mọi người giúp đỡ
B1 =IF(MID(A1,3,1)="Q","Quí "&RIGHT(A1,1)&"/",IF(MID(A1,3,1)="C","Năm ","Tháng "&RIGHT(A1,2)&" /"))&"20"&LEFT(A1,2)
 
Nếu là một phần của bài trước (mail merge) thì tôi thấy ở bài trước có ô chứa vd. "19Q1,19Q2"
Nếu thế thì vấn đề khác hoàn toàn.
 
PHP:
Function Dich(Num As Variant) As String
 Dim VTr As Byte:                       Dim Qui As String
 If IsNumeric(Num) Then
    Dich = "Tháng " & Right("0" & CStr(Num Mod 100), 2) & "/" & "20" & CStr(Num \ 100)
 Else
    Qui = Mid(Num, 3, 1)
    If Qui = "Q" Then
        Dich = "Quí " & Right(Num, 1) & "/" & "20" & Left(Num, 2)
    ElseIf Qui = "C" Then
        Dich = "Nam " & "20" & Left(Num, 2)
    Else
        Dich = "Tào Lao!"
    End If
 End If
End Function

& chúc vui!
 
Cái này là do bạn mà.Bạn giải quyết bằng cách làm 1 bảng quy đổi rồi dùng hàm Vlookup sang là được mà.
Hay quá, vậy mà mình không nghĩ ra. Cám ơn bạn rất nhiều :)
Bài đã được tự động gộp:

B1 =IF(MID(A1,3,1)="Q","Quí "&RIGHT(A1,1)&"/",IF(MID(A1,3,1)="C","Năm ","Tháng "&RIGHT(A1,2)&" /"))&"20"&LEFT(A1,2)
Cám ơn bạn, mình đã chạy thử hàm này được rồi.
Bạn cho mình hỏi, nếu nói như bác @batman1 , nếu ô đó hiện 19Q1,19Q2 thì mình kết hợp như thế nào ạ
 
Lần chỉnh sửa cuối:
Hay quá, vậy mà mình không nghĩ ra. Cám ơn bạn rất nhiều :)
Bài đã được tự động gộp:


Cám ơn bạn, mình đã chạy thử hàm này được rồi.
Bạn cho mình hỏi, nếu nói như bác @batman1 , nếu ô đó hiện 19Q1,19Q2 thì mình kết hợp như thế nào ạ
Dùng hàm Excel rất dài và rất khó, vì còn có thể: 19Q1,19Q2 ,19Q3,19Q4
 
A1:A17 = 01, 02, ...., 12, Q1, Q2, Q3, Q4, CN
B1 : B17 = Tháng 1/, Tháng 2/, ... Tháng 12/, Quý I/,... Quý IV/, Năm

=VLookup(Right(kyhieu,2), $A$1:$B$17, 2, 0) & "20" & Left(kyhieu,2)
 
Vậy tách nó ra chứ.Thế các công thức với code ở trên có chạy được không bạn.
Có bạn, giờ mình chỉ còn tắc mỗi chỗ này nữa là xong. Bữa giờ con mình bị sốt xuất huyết nên mình ko có time lên diễn đàn. Xin lỗi các bạn
Bài đã được tự động gộp:

A1:A17 = 01, 02, ...., 12, Q1, Q2, Q3, Q4, CN
B1 : B17 = Tháng 1/, Tháng 2/, ... Tháng 12/, Quý I/,... Quý IV/, Năm

=VLookup(Right(kyhieu,2), $A$1:$B$17, 2, 0) & "20" & Left(kyhieu,2)
Theo như mình thử thì cái Công thức này chỉ chạy đc với 1 ký hiệu thôi bạn. Giả xử có 2 ký hiệu trở lên thì xử lý thế nào bạn. Cám ơn bạn đã đóng góp ý kiến
 
Web KT

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

Back
Top Bottom