Nối dữ liệu theo điều kiện lớn hơn hoặc bằng giá trị cho trước (5 người xem)

Liên hệ QC

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

File đính kèm

Thử 1 cách học lỏm, giới hạn dưới 9 số hoặc theo file:
Mã:
=SUBSTITUTE(SUBSTITUTE(TEXT(SUMPRODUCT(B3:B12*(C3:C12<C14)*10^(10-B3:B12*(C3:C12<C14))),REPT("0"";""",10)),"0;","")&"#",";#","")
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ các bạn viết giúp hàm như file đính kèm
Dùng thử hàm này xem sao.
Mã:
Function noichuoi(ByVal mang As Variant, ByVal dk As Long, Optional ByVal so As Integer = 1, Optional ByVal so1 As Integer = 2)
         Dim arr, i As Integer, s As String
         arr = mang.Value
         For i = 1 To UBound(arr, 1)
             If arr(i, so1) < dk Then
                If s = Empty Then s = arr(i, so) Else s = s & ";" & arr(i, so)
             End If
         Next i
         noichuoi = s
End Function
Mã:
=noichuoi($B$3:$C$12,C14)
 

File đính kèm

Thử 1 cách học lỏm, giới hạn dưới 9 số hoặc theo file:
Mã:
=SUBSTITUTE(SUBSTITUTE(TEXT(SUMPRODUCT(B3:B12*(C3:C12<C14)*10^(10-B3:B12*(C3:C12<C14))),REPT("0"";""",10)),"0;","")&"#",";#","")
Công thức trực tiếp, thử 400 cho tất cả các số , kết quả thiếu
Dùng cột phụ, thử chỉ dùng 1 hàm If hoặc 2 If cho cột phụ và kết quả không dùng hàm
 
Công thức trực tiếp, thử 400 cho tất cả các số , kết quả thiếu
Dùng cột phụ, thử chỉ dùng 1 hàm If hoặc 2 If cho cột phụ và kết quả không dùng hàm
Thay cột phụ:
Mã:
D3=IF(OR(C3="",C3>=C$14),D2,IFERROR(LOOKUP(2,1/COUNTIF(C$14,">"&C$2:C2),D$2:D2)&";","")&B3)
Và kết quả bằng D12.
 

File đính kèm

Dùng thử hàm này xem sao.
Mã:
Function noichuoi(ByVal mang As Variant, ByVal dk As Long, Optional ByVal so As Integer = 1, Optional ByVal so1 As Integer = 2)
         Dim arr, i As Integer, s As String
         arr = mang.Value
         For i = 1 To UBound(arr, 1)
             If arr(i, so1) < dk Then
                If s = Empty Then s = arr(i, so) Else s = s & ";" & arr(i, so)
             End If
         Next i
         noichuoi = s
End Function
Mã:
=noichuoi($B$3:$C$12,C14)
Cảm ơn bạn
snow25
hàm rất chuẩn
Chúc bạn luôn vui và thành đạt trong công việc
 
Dùng thử hàm này xem sao.
Mã:
Function noichuoi(ByVal mang As Variant, ByVal dk As Long, Optional ByVal so As Integer = 1, Optional ByVal so1 As Integer = 2)
         Dim arr, i As Integer, s As String
         arr = mang.Value
         For i = 1 To UBound(arr, 1)
             If arr(i, so1) < dk Then
                If s = Empty Then s = arr(i, so) Else s = s & ";" & arr(i, so)
             End If
         Next i
         noichuoi = s
End Function
Mã:
=noichuoi($B$3:$C$12,C14)
Nhờ bạn tinh chỉnh lại hàm, mình thấy có một số vấn đề sai sai
Cảm ơn bạn
snow25
 

File đính kèm

Sai ở chỗ những ô trống thì nó cũng lấy hết toàn bộ cột bên trái bạn
snow25
xem giúp mình nhé
Bạn thêm điều kiện này vào nữa.Xem code nhé.
Mã:
Function DK_noi(ByVal mang As Variant, ByVal dk As Long, Optional ByVal so As Integer = 1, Optional ByVal so1 As Integer = 2)
         Dim arr, i As Integer, s As String
         arr = mang.Value
         For i = 1 To UBound(arr, 1)
             If arr(i, so1) > dk And Len(arr(i, so1)) > 0 Then 'thay doi dau khi thay doi dieu kien
                If s = Empty Then s = arr(i, so) Else s = s & ";" & arr(i, so)
             End If
         Next i
         DK_noi = s
End Function
 
Bạn thêm điều kiện này vào nữa.Xem code nhé.
Mã:
Function DK_noi(ByVal mang As Variant, ByVal dk As Long, Optional ByVal so As Integer = 1, Optional ByVal so1 As Integer = 2)
         Dim arr, i As Integer, s As String
         arr = mang.Value
         For i = 1 To UBound(arr, 1)
             If arr(i, so1) > dk And Len(arr(i, so1)) > 0 Then 'thay doi dau khi thay doi dieu kien
                If s = Empty Then s = arr(i, so) Else s = s & ";" & arr(i, so)
             End If
         Next i
         DK_noi = s
End Function
Cảm ơn bạn
Được roài bạn nhé
Chúc bạn ngày vui vui
 
Web KT

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

Back
Top Bottom