While 'excel at' and 'excel in' are generally interchangeable, I do think there is a subtle distinction. *excel at* seems to apply better to specific activities. > He excels at service returns in badminton. *excel in* seems to apply better 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.