While 'excel at' and 'excel in' are generally interchangeable, I do think there is a subtle distinction. *excel at* applies best to specific activities. > He excels at service returns in badminton. *excel in* applies best to more general categories or things that cover many activities. > She excels in school. To me, "She excels at school" sounds thoroughly ungrammatical and would not be uttered by a native speaker. "He excels in service returns in badminton" also sounds a little bit strange but other native speakers than me might use it.