Lập công thức nối chuỗi có điều kiện (1 người xem)

Liên hệ QC

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

Hồn Quê

Thành viên hoạt động
Tham gia
4/4/18
Bài viết
105
Được thích
8
Giới tính
Nữ
Em muốn lập công thức cho cột H với kết quả và điều kiện như trong file đính kèm nhờ mọi người giúp em công thức, em cảm ơn nhiều ạ.
 

File đính kèm

Em gởi lại file nha anh, anh giúp em công thức với ạ
Nếu dùng office Excel 2019 hoặc Excel 365 thì có thể tìm hiểu dùng hàm TEXTJOIN và tham khảo link sau

Còn dùng version Excel thấp hơn, thì chắc công thức khó toàn vẹn, sử dụng VBA thì tìm kiếm trên diễn đàn có đó
 
Em gởi lại file nha anh, anh giúp em công thức với ạ
Dùng hàm tự tạo nhé
Mã:
Function gopchuoi(ma As String, ten As Range)
  Application.Volatile
  a = Split(ma, ", ")
  b = ten
  For i = LBound(a) To UBound(a)
     For j = LBound(b) To UBound(b)
        If UCase(a(i)) = UCase(b(j, 1)) Then tmp = tmp & b(j, 2) & ", "
    Next j
  Next i
  If tmp <> "" Then tmp = Left(tmp, Len(tmp) - 2)
  gopchuoi = tmp
End Function
 

File đính kèm

Dùng hàm tự tạo nhé
Mã:
Function gopchuoi(ma As String, ten As Range)
  Application.Volatile
  a = Split(ma, ", ")
  b = ten
  For i = LBound(a) To UBound(a)
     For j = LBound(b) To UBound(b)
        If UCase(a(i)) = UCase(b(j, 1)) Then tmp = tmp & b(j, 2) & ", "
    Next j
  Next i
  If tmp <> "" Then tmp = Left(tmp, Len(tmp) - 2)
  gopchuoi = tmp
End Function
Hic cái này không thể dùng được công thức hả các bác? Em lại không khoái cái món VBA
 
Dùng hàm tự tạo nhé
Mã:
Function gopchuoi(ma As String, ten As Range)
  Application.Volatile
  a = Split(ma, ", ")
  b = ten
  For i = LBound(a) To UBound(a)
     For j = LBound(b) To UBound(b)
        If UCase(a(i)) = UCase(b(j, 1)) Then tmp = tmp & b(j, 2) & ", "
    Next j
  Next i
  If tmp <> "" Then tmp = Left(tmp, Len(tmp) - 2)
  gopchuoi = tmp
End Function
Ớ. cái này trong mục hàm và công thức sao lại chơi VBA vậy
 
Hic cái này không thể dùng được công thức hả các bác? Em lại không khoái cái món VBA
Do mình đang dùng Excel 2007 với lại trình độ hạn chế nên Công thức thông thường mình không làm được. Bạn nhờ các thành viên khác nhé.!
Mình thì cái nào cũng khoái... miễn là giải quyết được vướng mắc cần xử lý.
Bài đã được tự động gộp:

Ớ. cái này trong mục hàm và công thức sao lại chơi VBA vậy
Hôm nay thứ 7 rãnh rỗi đó mà. hiiiiic
 
Excel 2013 thì phải dùng cột phụ thôi

I4 Nhập công thức
=IFERROR(", " &VLOOKUP(TRIM(MID(SUBSTITUTE($G4,",",REPT(" ",99)),1+99*(COLUMN(A:A)-1),99)),$B$4:$C$9,2,0),"")
Copy công thức này cho vùng I4:N12

tại H4, công thức:
=MID(CONCATENATE(I4,J4,K4,L4,M4,N4),3,255)
Copy cho vùng H4:H12


Nếu không thích cột phụ thì bạn tự nối công thức dài dài cũng được
 
Dạ đây anh dùng cột phụ cũng được ạ
Mã chỉ có 2 ký tự
Mã:
=IFERROR(VLOOKUP(MID(SUBSTITUTE($G4," ",""),1,2),$B$4:$C$9,2,0),"")&IFERROR(", "&VLOOKUP(MID(SUBSTITUTE($G4," ",""),4,2),$B$4:$C$9,2,0),"")&IFERROR(", "&VLOOKUP(MID(SUBSTITUTE($G4," ",""),7,2),$B$4:$C$9,2,0),"")&IFERROR(", "&VLOOKUP(MID(SUBSTITUTE($G4," ",""),10,2),$B$4:$C$9,2,0),"")&IFERROR(", "&VLOOKUP(MID(SUBSTITUTE($G4," ",""),13,2),$B$4:$C$9,2,0),"")&IFERROR(", "&VLOOKUP(MID(SUBSTITUTE($G4," ",""),16,2),$B$4:$C$9,2,0),"")
Copy xuống
 

File đính kèm

Web KT

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

Back
Top Bottom