Jika seseorang tahu cara mendapatkan hasil yang Anda inginkan menggunakan rumus array, beri tahu kami. Saya tidak berpikir itu mungkin ... Karena itu saya menggunakan VBA. Ini adalah solusi kode saya (UDF):
Option Explicit
Function Results(cell As Range, table_1 As Range, table_2 As Range) As String
Dim aTable1() As Variant
Dim aTable2() As Variant
aTable1 = table_1.Value
aTable2 = table_2.Value
Dim i As Long, j As Long 'counters
For i = 1 To UBound(aTable1, 1)
If aTable1(i, 1) = cell.Value Then
For j = 1 To UBound(aTable2, 1)
If aTable1(i, 2) = aTable2(j, 1) Then
If Not IsEmpty(aTable2(j, 2)) Then
Results = Results & aTable2(j, 1) & " has content, "
Else
Results = Results & aTable2(j, 1) & " has no content, "
End If
End If
Next
If Results = vbNullString Then
Results = aTable1(i, 2) & " NOT FOUND"
GoTo Ending
End If
End If
Next
Results = Left(Results, Len(Results) - 2)
If (Len(Results) - Len(Replace(Results, "has", ""))) / 3 = _
(Len(Results) - Len(Replace(Results, "no", ""))) / 2 Then
Results = "BLANK - " & Results
End If
Ending:
End Function
Ini adalah hasil yang Anda dapatkan:
Anda juga dapat menggunakan referensi Rentang biasa, yaitu di I3
saya bisa juga dimasukkan rumus ini: =Results(H3,B$3:C$13,E$3:F$10)
.
Rekatkan kode ke VBA Editor ( Alt + F11 ), dalam modul "Module1" yang baru dimasukkan (bukan dalam modul "ThisWorkbook" atau "Sheet")