Thẩm Tinh Di
Chỉ mong bình thản nắm tay nàng đi giữa nhân gian
- Tham gia
- 20/5/22
- Bài viết
- 4
- Được thích
- 1
Nếu dùng office 365 thì có thể dùng hàm nhé bạn.Chào anh chị, em có bài này nhờ anh chị giải giúp.
Em muốn nghịch chuyển dữ liệu như hình.
VD: A B C sẽ thành C B A
Nhờ anh chị giải giúp em bài này.
Em cảm ơn anh chị
Function Chuyen(str As String) As String
Dim arr As Variant
Dim arr2 As Variant
Dim i As Long
arr = Split(str, " ")
ReDim arr2(UBound(arr))
For i = 0 To UBound(arr)
arr2(i) = arr(UBound(arr) - i)
Next
Chuyen = Join(arr2, " ")
End Function
Nếu dùng Office 365 thì dùng hàm như sau:Hàm sử dụng ngon lành. Cảm ơn anh Hai Lúa Miền Tây nhiều.
B2=LET(X,FILTERXML("<t><s>"&SUBSTITUTE(TRIM(A2)," ","</s><s>")&"</s></t>","//s"),TEXTJOIN(" ",,SORTBY(X,SEQUENCE(COUNTA(X)),-1)))
Bài này là kinh điển (classic) của bài toán đảo ngược chuỗi. Giải thuật là đi từ hai đầu quy tụ về giữa.Nếu dùng office 365 thì có thể dùng hàm nhé bạn.
Mã:Function Chuyen(str As String) As String Dim arr As Variant Dim arr2 As Variant Dim i As Long arr = Split(str, " ") ReDim arr2(UBound(arr)) For i = 0 To UBound(arr) arr2(i) = arr(UBound(arr) - i) Next Chuyen = Join(arr2, " ") End Function