How do I identify clusters that match on categorical data? I am seeking some directions for a proper path to research the solve for this problem:

My company made all our employees take a "StrengthFinders" test, which results in every employee being assigned their top five (ordered) "strengths" from a possible list of 34 strengths.  We have 500 employees.  I am supposed to identify all the employees that match each other for the same 5 strengths (order not important), and also for employees that match each other for 4 out of 5 strengths (again, order doesn't matter).  I could potentially have multiple groups matching on different sets of strengths, e.g.:
Group 1: Billy, Sally, Michael have strengths A, H, I, K, Z
Group 2: Bobby and Suzy have strengths A, B, L, S, W

For the case where strengths match for 4 out of 5, I might have the same people from Group 1 above, plus Joe, whose strengths are A, H, M, K, Z; and 
Seth, whose strengths are A, H, G, K, Z.  I would expect more groupings for the case of 4 out of 5 than the 5 out of 5 case.

The strengths are categorical in nature, so what I've read so far has largely revolved around clustering of continuous numerical variables.

I am looking for an algorithmic way to identify clusters and the members of those clusters for this situation.  I think I could do this brute force by repeatedly sorting data in Excel, but I'm confident that a better way must exist, and I ask you to point me in that direction.  Thank you.
You have just 500 data points...

Excel of course is the worst possible tool though.

Anyway, build a dictionary. Put everybody in there 6 times: 1 with all five strengths, and 5 times with one strength omitted. Then you can easily identify the largest groups, and you can also perform various completion operations easily: if you have identified a group with strengths A B C D E, you can add all that have ABCD etc. using the dictionary.