First, you are wanting to find the minimum of an integer, correct?
Because you start in column B, there is a necessary shift that I was ignoring, since I started in A.
Try this:
indirect(ADDRESS(1,MATCH(MIN(B4:AG4),B4:AG4,0)+1))
This is also assuming that your headers are in Row1. If they are not, change the "1" in front of ,MATCH in the equation.
If you are still having problems, get me the following data to help you debug. Set some blank cells equations as the following, and tell me if they are returning the correct values or not.
=min(b4:ag4)
Should return the minimum value of the range
=MATCH(MIN(B4:AG4),B4:AG4,0)
Should return the number of the column as a reference to your data range. If you start in column B, then B will be 1, C will be 2......
=ADDRESS(1,MATCH(MIN(B4:AG4),B4:AG4,0)+1)
Should return a column and cell number in the form of $F$4.
And if all this is working, then there is a problem with the overall equation.