The company I work for uses excel sheets to find the cheapest available fuel in their desired fueling location. I have managed to make the formulas of the sheet they had already in place work properly except for 1 very specific case where more than 1 location offers fuel at the same price.
Image Example

Basically in the example:
For columns H, J and L, the formula calculates the first, second and third cheapest fuel location.
Formulas:
=Small(C3:G3;Countif(C3:G3;0)+1)
=Small(C3:G3;Countif(C3:G3;0)+2)
=Small(C3:G3;Countif(C3:G3;0)+3)
For columns I, K and M, it finds the $$ matching the cell next to it with the first row's station Name.
In this case since Courcelle, lac Megantic and St-Gedeon all sell the fuel at the same price (1,4505) it returns 3X Courcelle as answer.
Formulas:
=index($C$1:$G$1;Match(H3;C3:G3;0))
=index($C$1:$G$1;Match(J3;C3:G3;0))
=index($C$1:$G$1;Match(L3;C3:G3;0))`
Is it possible, without reworking the entire sheet, to either:
Return the cheapest station but if the name is already there in cell 1 or 2, skip to the next.
Return all Station names that matches the cheapest price, then lookup the next highest price and follow as if
Here is what I wish it would return / expected result

You could try using the following formula, assuming there is no excel constraints as per the post tags:
You may need to change the cell reference or ranges as per your suit.
Or as you expected output shown in the second screenshot:
Use the following if there will be any blanks :