Check if this code needs adjustments after giving new details:
double foundMinValue = -1;
int foundColumn = -1;
for (int j = intStartY; j <= intend && foundColumn < 0; j++)
{
for (int i = startRow; i < endRow && foundColumn < 0; i++)
{
if (sheet.Cells[i, j].Value == null) continue;
if (sheet.Cells[i + 1, j].Value == null) continue;
double v1 = Convert.ToDouble(sheet.Cells[i, j].Value);
double v2 = Convert.ToDouble(sheet.Cells[i + 1, j].Value);
double min = Math.Min( v1, v2 );
double max = Math.Max( v1, v2 );
if( ParamNum >= min && ParamNum <= max)
{
foundColumn = j;
foundMinValue = min;
}
}
}