This should be a quick dev. Two separate calcs: one is an inline lookup against a ref source (*) and the second is a calc on an array as pulled from the same ref source to provide the total.

(*) You can’t just have an excel as a ref source however. It’ll need to be an air table that manually keep up, option sets within Bubble (nightmare, but they do have version control so that’s a plus), or a backend page for you to keep up the table with data autobinding on what would appear to be Excel-like (displayed in whole if 1500 or less items, or paginated if more). Or, custom API’s to your supplier(s), but the call rate could be high depending on how often users hit this page.

If the call rate is high, then keeping an internal table and having a rotational process to update your costs-by-item once per day via recursive API would be your answer, to keep the rate limit in check.