Q:

Check if columns have similar like value in Excel

I have below mentioned excel sheet:
ID  column1    column2     column3
1   Apple X    apple - x   Apple - le
2   Mango Y    banana      cat
3   Dog        DOG - A     DOG - B
4   L-Lion     Lion        Lion- Cd

I want to check if three of these column have any word (or Maximum length of word) similar like other two columns.
I want to ignore the case difference here.
I have below mentioned VBA code for this but it couldn't give me the required output.
Public Function Test(s1 As String, s2 As String, s3 As String) As Boolean
    Dim a As String, b As String, c As String

    a = Split(UCase(s1), " ")(0)
    b = Split(UCase(s2), " ")(0)

    Test= False
    If a = b And a = c Then ThreeWayIC = True
End Function

Required Output:
ID  column1    column2     column3     Status
1   Apple X    apple - x   Apple - le  True
2   Mango Y    banana      cat         False
3   Dog        DOG - A     DOG - B     True
4   L-Lion     Lion        Lion- Cd    True

A:

You could try the following function but be aware it is not working for your fourth line because you consider L-LION as two words but the function will consider it as one word. Either you add spaces or think about a unique delimiter. You might also extend the function for a second delimiter like a  dash.
Function isContained(ByVal s1 As String, ByVal s2 As String, ByVal s3 As String) As Boolean

Const BLANK = " "

Dim a As Variant

    a = Split(UCase(s1), BLANK)
    isContained = False

    Dim i As Long
    For i = LBound(a) To UBound(a)
        If InStr(1, s2, a(i), vbTextCompare) >= 1 And InStr(1, s3, a(i), vbTextCompare) >= 1 Then isContained = True
    Next i

End Function

EDIT I added the dash just "quick and dirty"
Function isContained(ByVal s1 As String, ByVal s2 As String, ByVal s3 As String) As Boolean

Const BLANK = " "
Const DASH = "-"

Dim a As Variant

    a = Split(UCase(s1), BLANK)
    isContained = False

    Dim i As Long
    For i = LBound(a) To UBound(a)
        If InStr(1, s2, a(i), vbTextCompare) >= 1 And InStr(1, s3, a(i), vbTextCompare) >= 1 Then isContained = True
    Next i

    a = Split(UCase(s1), DASH)
    For i = LBound(a) To UBound(a)
        If InStr(1, s2, a(i), vbTextCompare) >= 1 And InStr(1, s3, a(i), vbTextCompare) >= 1 Then isContained = True
    Next i

End Function

