Xác định các giá trị lớn hơn 0 và trả về vị trí các cột (2 người xem)

Liên hệ QC

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

ditimdl

Thành viên thường trực
Tham gia
11/10/06
Bài viết
378
Được thích
107
Giới tính
Nam
Nghề nghiệp
Pharmacist
Xin chào các bạn!

Trong file mình đính kèm lên có dữ liệu nằm trong cột 1, cột 2, cột 3, cột 4. Dữ liệu không nằm đều trong cả 4 cột, có thể có hoặc không hoặc nằm bất kỳ trong 4 cột. Mình muốn xác định những giá trị >0 và trả về vị trí các cột mà không có hướng nào xử lý được.

Mong được các bạn giúp đỡ.
 

File đính kèm

Xin chào các bạn!

Trong file mình đính kèm lên có dữ liệu nằm trong cột 1, cột 2, cột 3, cột 4. Dữ liệu không nằm đều trong cả 4 cột, có thể có hoặc không hoặc nằm bất kỳ trong 4 cột. Mình muốn xác định những giá trị >0 và trả về vị trí các cột mà không có hướng nào xử lý được.

Mong được các bạn giúp đỡ.
Bạn thử dùng cái này xem sao
PHP:
Function FindCol(ByVal Rng As Range, ByVal Criteria) As String
    Dim J As Long, Str As String
    Dim DK As Boolean, Num As Double
DK = (InStr("<>=", Left(Criteria, 1)) > 0)
For J = 1 To Rng.Columns.Count
    If DK And Len(Criteria) Then
        Num = CDbl(Rng(J))
        If Evaluate(Num & Criteria) Then
            If Str = "" Then
                Str = "Column: " & J
            Else
                Str = Str & ", " & J
            End If
        End If
    End If
Next
FindCol = Str
End Function
Công thức E2=FindCol(A2:D2;">0")
 

File đính kèm

Bạn thử dùng cái này xem sao
PHP:
Function FindCol(ByVal Rng As Range, ByVal Criteria) As String
    Dim J As Long, Str As String
    Dim DK As Boolean, Num As Double
DK = (InStr("<>=", Left(Criteria, 1)) > 0)
For J = 1 To Rng.Columns.Count
    If DK And Len(Criteria) Then
        Num = CDbl(Rng(J))
        If Evaluate(Num & Criteria) Then
            If Str = "" Then
                Str = "Column: " & J
            Else
                Str = Str & ", " & J
            End If
        End If
    End If
Next
FindCol = Str
End Function
Công thức E2=FindCol(A2:D2;">0")
Hàm tự tạo cho ra kết quả như mình mong muốn.
Cảm ơn bạn rất nhiều!
 
Xin chào các bạn!

Trong file mình đính kèm lên có dữ liệu nằm trong cột 1, cột 2, cột 3, cột 4. Dữ liệu không nằm đều trong cả 4 cột, có thể có hoặc không hoặc nằm bất kỳ trong 4 cột. Mình muốn xác định những giá trị >0 và trả về vị trí các cột mà không có hướng nào xử lý được.

Mong được các bạn giúp đỡ.
Bạn có thể dùng hàm JoinText của anh NDU:
Mã:
Function JoinText(ByVal Delimiter As String, ParamArray Arrays()) As String
  Dim aTmp, arr(), Item, tmp As String
  Dim i As Long, n As Long
  'On Error Resume Next
  For i = LBound(Arrays) To UBound(Arrays)
    aTmp = Arrays(i)
    If Not IsArray(aTmp) Then aTmp = Array(aTmp)
    For Each Item In aTmp
      If TypeName(Item) <> "Error" Then
        tmp = CStr(Item)
        n = n + 1
        ReDim Preserve arr(1 To n)
        arr(n) = tmp
      End If
    Next
  Next
  If n Then JoinText = Join(arr, Delimiter)
End Function
Nhập công thức này tại E2:
Mã:
=JoinText(", ",IF(A2:D2=0,N/A,COLUMN($A$1:$D$1)))

Kết thúc bằng Ctrl+Shift+Enter.
 
Web KT

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

Back
Top Bottom