You mention that a DB would be far more efficient. What kind of efficiency do you have in mind?
The technique I've used in the past is to use SQL to query and output the data I need, then manipulate it in Excel. I'll leave it open that I'm not good enough with Excel, but I find MySQL query language more powerful for filtering, grouping, etc. However, there are a few too many steps in there, and it's not something I'll be teaching my mother. Someone actually has to set up the database, and that's no cake walk for the lay person.
Now, I'm going to take a guess that you're implying that Excel already has these features, to which I'll answer: possibly, but nobody I know is using them. That's why I think it's a large market.
But hey, if you know a solution off the top of your head, let me know. I'm always looking!
Being able to automatically recognize patterns in data which would be suitable for normalization techniques, then managing those techniques behind the scenes, would allow for people using a GUI for data entry, but would open up the possibility for more flexible/powerful/efficient SQL when needed.