I vote with the others that Access is the better choice, but with the added warning that it is very easy to get lost in the bowels of Access very quickly.
You surely can tie Access to external Excel spreadsheets, but I question whether that is really the way to go. People can do things to spreadsheets that they cannot do in a database context because Excel just flat-out doesn't care! You can put a header line in a spreadsheet. Excel likes it. But in Access, you cannot put a header line in a table. You put header lines in REPORTS and then populate the report from the table. See the difference? It is a concept thing.
I tried tying a spreadsheet into my Access database once. I couldn't get the folks who fed the spreadsheet disciplined enough to keep it uniform in format. So eventually I had to give up. I wanted to help them, but they didn't cooperate. Now, if I had the authority to force them to use Access, the problem would have been solved, but politics and user "comfort" levels are a valid element of any environment. You cannot forget these two factors when designing any system.
Many questions in this forum have come from the viewpoint of folks converting from spreadsheets to databases. This is NOT as trivial as it looks because there is a mindset issue that is hidden among the bullrushes here.
Basically, despite the fact that Excel can make cross-worksheet references, and relative references, and other such things, it is a flat file. Conceptually, you use it as though it were a flat file. You design it as a flat file. You print it as a flat file. With very few exceptions, you print rows and columns. Oh, sure, with pretty formats and fancy forumulas, but you print rows and columns.
Access allows more than two dimensions to exist, because that is the nature of the "relational" beast. You must start thinking in terms of Access methods, which for some people is a bigger leap than for others. When you print something, it might be rows and columns, but some of what you print can come from lookups or joins to other tables, or summations of other data through an implied query, or all sorts of other complex techniques.
For example, you mentioned "formulas" as an issue. You do not EVER put a formula in an Access data table. All formulas go into queries (or text boxes in a form or report). The idea is that if you have to compute it, you do so on the fly every time you run the query. You only store "concrete" items in the database. This is true whether we are talking display-only information or data used for updating other tables. If it CAN be computed from other data in the database, it MUST be computed - if you intend to maintain proper relational integrity and normalization.
So look before you leap. And don't take the big step if you can't handle the big splash that goes with it.