I have a good employee who likes to share his knowledge - he is the top expert on the team and on many occasions also knows better than me.
However, his tone (or he himself) is often very condescending and makes a lot of noise.
He often speaks more than what he was asked for, including excessive details on basics or even unnecessary details, that everyone across the office can hear. I sometimes feel reluctant to ask him just because of this!
For example, I would ask him something like:
"Hey, could you explain to me again how you set up this report spreadsheet?"
He will answer:
"Well, look, I did the best thing one can do, what else? You see, you only need to copy and paste the data from this other file, but make sure you do paste values. Come on, we've seen it already how to do it. Oh, also remember that when you paste values, you will loose all the formulas and colors? I mean, we know that, so it's all pretty simple. And then I just use the sort button on column F. Come on, don't you remember the Sort button? It's this one right here!"
All I wanted to really know was where he took the data from and on which column he sorted it on. He could go on for minutes and minutes to say something that literally requires less than 10 seconds. And he talks so loud and uninterruptedly that I don't know what to say to make him stop.
I don't know whether this example depicts clearly what I mean, but I am not the only one in the company who has this problem with him. Everyone just listens because - aside from the infinite list of details - he also says useful things.
I am bit afraid that, due to his noisy public exposure, it may decrease team morale and also look bad from the outside that he acts like a bossy teacher and makes it sound like everyone else in the team (me included) are incompetent.
I don't know whether he is aware of this, so it is difficult to figure out what to tell him, or how to respond to him. I don't know whether it will sound immature to respond all the time something like: "Oh, that part I knew already."
My question is: how can I respond in a way that will safeguard team morale and also not look bad outside the team?
Is it fine to just stay silent, look away and ignore, or would I need to tell him?
EDIT BY ORIGINAL POSTER:
I think my example was taken too literally. Of course I didn't use the exact same words in real life, and neither did he. The point is that whatever anyone in the team or sometimes even outside asks, he seems to assume they are less competent and need a full lecture. AND he adds those little comments like "Come on, we have seen this before.", "Of course this is the right way", etc. - in some cases they are indeed very obvious (too obvious, like what copy and paste does!), but in others they aren't. I believe it's those little comments that come across as patronizing.
How the questions are phrased are dictated by common sense. We all ask each other these questions yet only he answers that way.