For the Formula based answer make sure the cells in that row are the the Currency Format>Select Cell Range. (H4:H34) in you case.
For your specific situation
Solution #1
=IFERROR(SUM(IF(B4="Subway",VALUE(SUBSTITUTE(B4,"Subway","$4.30")),IF(B4="Bus",VALUE(SUBSTITUTE(B4,"Bus","$3.90")),"")),IF(G4="Subway",VALUE(SUBSTITUTE(G4,"Subway","$4.30")),IF(G4="Bus",VALUE(SUBSTITUTE(G4,"Bus","$3.90"))))),"")
After you have completed this, drag and fill the formula all the way down.
Function Explanations
IFERROR
IFERROR(FUNCTION_OR_FUNCTIONS,RESULT_IF_FUNCTION(S)_RETURN_AN_ERROR_CODE)
SUM
IF
=IF(TEST,IF_TRUE,IF_FALSE)
VALUE
SUBSTITUTE
=SUBSTITUTE(CELL_REFERENCE,TEXT_TO_REPLACE,TEXT_TO_REPLACE_ORIGINAL_TEXT,[NUMBER_OF_TIMES_TO_REPLACE_OLD_TEXT])
Section of code enclosed with [] defaults to all instances of "Subway" within the referenced Cell.
Evaluation of the Separate Functions
The VALUE function changes text into a number format
The text can be manually entered: "$4.30"
or
The text can be referenced by address: B4
(Since 'B4' is still text, the value function still needs to replace the text with the desired number.)
So...
Inside the VALUE Function, the SUBSTITUTE function changes your text into the appropriate number.
Part 1,
Targets Cell Address B4.
Friendly Reminder:Remember to use $ to lock column or row ($B4/B$4/$B$4), if you want to repeat the result of specific cells or Absolute Locations.
Not that I could foresee why you would want to.
Part 2,
Looks for the word Subway.
The text within the quotes is case sensitive.
Part 3,
Changes the text Subway into $4.30
(Which gives VALUE a text number, to convert into a Value that it can use mathematically.)
Part 4,
The number 2, will look for "Subway" two times within the referenced cell (B4)
But, we don't this this particular bit of information.
So the finished product of this function is...
=SUBSTITUTE(B4,"Subway","$4.30")
Note that part 4 is absent 
And that is the long answer to your problem.
A simpler but less versatile code, as it requires a single match (Though it should work for your purposes.
Solution #2
=IF(B4="Subway",$4.30,IF(B4="Bus",$3.90,0))+IF(G4="Subway",$4.30,IF(G4="Bus",$3.90,0))
An easier way still would be to Put the words into separate cells, and reference them in the formulas, instead of the direct words.
Solution #3
=IF(B4=$L$1,4.3,IF(B4=$L$2,3.9,0))+IF(G4=$L$1,4.3,IF(G4=$L$2,3.9,0))
Alternatively, if you prefer the sum function, use as per normal with the contained if statements in either of the above.
Bookmarks