[Giúp đỡ] tìm kiếm / thay thế từ bảng

Liên hệ QC

dunglx911

Thành viên mới
Tham gia
4/2/14
Bài viết
5
Được thích
0
Chào anh, chị Giải Pháp Excel,

Em đang bí về vấn đề tìm kiếm và thay thế chuổi trong excel, cụ thể như sau :

Em đang dùng hàm =SUBSTITUTE để thay thế trong chuổi, nếu từ thay thế ít thì mình làm 1 hàm =SUBSTITUTE nối nhau củng được,

Nhưng nếu thay thế khoảng 100, 200 lần thì không biết phải làm thế nào ạ ?

Mong các cao thủ chỉ giáo ạ.


Chuổi​
Bảng Thay thế​
ch​
Cộng Hòa​
Tôi muốn ch dl vn​
xh​
Xã Hội
cn​
Chủ Nghĩa​
Tôi muốn cộng hòa độc lập việt nam​
vnViệt nam
dl​
Độc lập​
Nếu bảng thay thế khoảng 200 dòng thì dùng công thức ntn ạ ?​
 
Chào anh, chị Giải Pháp Excel,

Em đang bí về vấn đề tìm kiếm và thay thế chuổi trong excel, cụ thể như sau :

Em đang dùng hàm =SUBSTITUTE để thay thế trong chuổi, nếu từ thay thế ít thì mình làm 1 hàm =SUBSTITUTE nối nhau củng được,

Nhưng nếu thay thế khoảng 100, 200 lần thì không biết phải làm thế nào ạ ?

Mong các cao thủ chỉ giáo ạ.


Chuổi​
Bảng Thay thế​
ch​
Cộng Hòa​
Tôi muốn ch dl vn​
xh​
Xã Hội
cn​
Chủ Nghĩa​
Tôi muốn cộng hòa độc lập việt nam​
vnViệt nam
dl​
Độc lập​
Nếu bảng thay thế khoảng 200 dòng thì dùng công thức ntn ạ ?​

Cho cái file lên chắc dùng VBA được.
 
Em gửi file mẫu ạ, anh xem giúp e với
Bạn thử hàm này nhé.
Mã:
Function thaythe(ByVal mang As Range, ByVal ten As String, ByVal so1 As Integer, ByVal so2 As Integer) As String
         Dim arr, i As Long, s As String
         s = ten
         arr = mang.Value
         For i = 1 To UBound(arr)
             s = Replace(s, arr(i, so1), arr(i, so2), 1, 1, 1)
            
         Next i
         thaythe = s
End Function
Mã:
=thaythe($E$3:$F$7;A4;1;2)
Mã:
=thaythe($E$3:$F$7;A6;2;1)
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn thử hàm này nhé.
Mã:
Function thaythe(ByVal mang As Range, ByVal ten As String, ByVal so1 As Integer, ByVal so2 As Integer) As String
         Dim arr, i As Long, s As String
         s = ten
         arr = mang.Value
         For i = 1 To UBound(arr)
             s = Replace(s, arr(i, so1), arr(i, so2), 1, 1, 1)
           
         Next i
         thaythe = s
End Function
Mã:
=thaythe($E$3:$F$7;A4;1;2)
Mã:
=thaythe($E$3:$F$7;A6;2;1)
Trường hợp nầy thì sao: "Con cháu ch dl vn"
 
Bạn thử hàm này nhé.Nó phân biệt chữ hoa chữ thường nhé.
Mã:
Function thaythe(ByVal mang As Range, ByVal ten As String, ByVal so1 As Integer, ByVal so2 As Integer) As String
         Dim arr, i As Long, s As String
         s = ten
         arr = mang.Value
         For i = 1 To UBound(arr)
             s = Replace(s, arr(i, so1), arr(i, so2))
         Next i
         thaythe = s
End Function
Mã:
=thaythe($E$3:$F$7;A4;1;2)
Mã:
=thaythe($E$3:$F$7;A6;2;1)
Chuỗi "Tôi muốn cho bạn 1 Code".
Kết quả: ?????????????????????????
 
Trường hợp nầy thì sao: "Con cháu ch dl vn"
Chuỗi "Tôi muốn cho bạn 1 Code".
Kết quả: ?????????????????????????
Em thêm dấu phân cách là khoảng trắng được không 2 anh.
Mã:
Function thaythe(ByVal mang As Range, ByVal ten As String, ByVal so1 As Integer, ByVal so2 As Integer) As String
         Dim arr, i As Long, s As String
         s =" " & ten & " "
         arr = mang.Value
         For i = 1 To UBound(arr)
             s = Replace(s, " " & arr(i, so1) & " ", " " & arr(i, so2) & " ", 1, 1, 1)
          
         Next i
         thaythe = Mid(s, 1, Len(s) - 1)
End Function
 
Em thêm dấu phân cách là khoảng trắng được không 2 anh.
Mã:
Function thaythe(ByVal mang As Range, ByVal ten As String, ByVal so1 As Integer, ByVal so2 As Integer) As String
         Dim arr, i As Long, s As String
         s =" " & ten & " "
         arr = mang.Value
         For i = 1 To UBound(arr)
             s = Replace(s, " " & arr(i, so1) & " ", " " & arr(i, so2) & " ", 1, 1, 1)
         
         Next i
         thaythe = Mid(s, 1, Len(s) - 1)
End Function
thaythe = Mid(s, 1, Len(s) - 1) số 1 hơi bị thiếu
 
Web KT

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

Back
Top Bottom