It can be done but it can get complex and error prone. But here is a way. I have it all in one table to demonstrate how to parse the data but you can have the parsing (column C and to the right) in a separate table. The parsed data can be summed up.
You enter all the costs in one cell, one line per cost. Each needs a $ and each line is separated by Option-Return.
Cell A1 contains an option-return (with the cell formatted as text) or the formula ="option-return" (with the cell formated as automatic). This is a workaround. The other formulas need to "find" option returns (character code 10) in other strings but you cannot use CHAR(10) to generate that character. So it is easiest to put the option-return character in a cell somewhere and reference it.
A2 and B2 are manually entered data
C2 =IFERROR(MID(B2,FIND("$",B2)+1,IFERROR(FIND($A$1,B2)-FIND("$",B2)-1,LEN(B2))),0 )
D2=IFERROR(RIGHT(B2,LEN(B2)-FIND($A$1,B2)),"")
Select C2 and D2. Copy. Paste at E2, G2, I2, etc. for however many costs you want to handle.
Fill down to finish the table.
You will probably want to include a column to the right that sums all the costs.
You can hide all the parsing columns, leaving just your entered data (columns A and B) and your sum (which would be column J for this example).
Be careful when entering data. Forgetting a $ or forgetting an option-return will result in incorrect parsing. A missing $ will not show up as an orange error triangle, it will be a 0 forthe cost. That is part of why I said it is more prone to errors to do it this way. You could, of course, edit the formulas and flag any zero results, knowing there should be none.