Trên máy mình 1 phát là xong. Còn máy Bạn thì không biết như thê nàoHi cả nhà,
Mình đang muốn nối chuỗi từ cột sang dòng như sau:
A
B
C
D
E
Nối thành:
A|B|C|D|E
Công thức mình dùng hơi loằng ngoằng và bị giới hạn số lượng dòng ở Cột A. Nhờ các bạn cho cao kiến.
Xin cám ơn!
Trên máy mình 1 phát là xong. Còn máy Bạn thì không biết như thê nào
Function NoiSL(rng As Range) As String
Dim r As Long, Tmp As Variant
If rng.Columns.Count <> 1 Then Exit Function
Tmp = rng.Value
For r = 1 To UBound(Tmp, 1)
If Tmp(r, 1) <> NullString Then NoiSL = NoiSL & Tmp(r, 1) & "|"
Next r
End Function
View attachment 236318
Bộ hàm JoinText và JoinIf của tôi có thể giải quyết mọi bài toán nối chuỗiCám ơn bạn. Trường hợp dữ liệu trên cột bị trùng thì mình chỉ lấy 1 lần thôi thì sao bạn?
View attachment 236379
Ngoài ra, nếu ô A6 là 1 giá trị lỗi thì công thức cũng lỗi.
View attachment 236377
Bộ hàm JoinText và JoinIf của tôi có thể giải quyết mọi bài toán nối chuỗi
Có hàng đống cách để xử lý, chẳng hạn bạn có thể sửa công thức thành:Nếu ô A27 là 1 khoảng trắng thì công thức bị thừa 1 dấu "|". Có thể khắc phục không bác?
Cám ơn bác!
=Joinif("|",TRIM(A21:A200)<>"",TRUE,A21:A200)
=JOINIF(dấu phân cách, mảng điều kiện, điều kiện, mảng kết quả)
=Joinif("|",TRIM(A21:A200),"!")
office 2019 mới có hoặc office 365 mới cóTrên máy mình 1 phát là xong. Còn máy Bạn thì không biết như thê nào
Có hàng đống cách để xử lý, chẳng hạn bạn có thể sửa công thức thành:
Công thức này hoạt động giống như SUMIFMã:=Joinif("|",TRIM(A21:A200)<>"",TRUE,A21:A200)
Mô tả:
- Nếu bỏ trống mảng kết quả thì xem như mảng kết quả chính là mảng điều kiệnMã:=JOINIF(dấu phân cách, mảng điều kiện, điều kiện, mảng kết quả)
- Điều kiện chấp nhận các ký tự đại diện như *, ?...
Từ mô tả ở trên, thậm chí công thức có thể được rút gọn thành:
Mã:=Joinif("|",TRIM(A21:A200),"!")
Có hàng đống cách để xử lý, chẳng hạn bạn có thể sửa công thức thành:
Công thức này hoạt động giống như SUMIFMã:=Joinif("|",TRIM(A21:A200)<>"",TRUE,A21:A200)
Mô tả:
- Nếu bỏ trống mảng kết quả thì xem như mảng kết quả chính là mảng điều kiệnMã:=JOINIF(dấu phân cách, mảng điều kiện, điều kiện, mảng kết quả)
- Điều kiện chấp nhận các ký tự đại diện như *, ?...
Từ mô tả ở trên, thậm chí công thức có thể được rút gọn thành:
Mã:=Joinif("|",TRIM(A21:A200),"!")
Bữa trước Thương có hỏi về hàm Unique, nó đang nằm chung trong file của bài 6 đóoffice 2019 mới có hoặc office 365 mới có
Có hàng đống cách để xử lý, chẳng hạn bạn có thể sửa công thức thành:
Công thức này hoạt động giống như SUMIFMã:=Joinif("|",TRIM(A21:A200)<>"",TRUE,A21:A200)
Mô tả:
- Nếu bỏ trống mảng kết quả thì xem như mảng kết quả chính là mảng điều kiệnMã:=JOINIF(dấu phân cách, mảng điều kiện, điều kiện, mảng kết quả)
- Điều kiện chấp nhận các ký tự đại diện như *, ?...
Từ mô tả ở trên, thậm chí công thức có thể được rút gọn thành:
Mã:=Joinif("|",TRIM(A21:A200),"!")
Là vầy chăng:Hi bác,
Trường hợp em muốn filter bỏ A chỉ lấy giá trị còn lại trong filter thì chỉnh công thức sao bác?
=Joinif("|",IF(SUBTOTAL(3,OFFSET(A22:A201,ROW(A22:A201)-22,,1)),A22:A201,1/0),"!")