var tb = project.Tables["table"]; //Здесь указываем свою таблицу
string cell_with_number = "B"; //Здес столбец, в котором лежат числа
decimal min_value = 5.15M; //Минимальное значение
decimal max_value = 5.7M; //Максимальное значение
List<IEnumerable<string>> good_rows = new List<IEnumerable<string>>(); //Создаем список со строками
for (int i = 0; i < tb.RowCount; i++) //Начинаем перебор всех строк таблицы
{
decimal got_dec = decimal.Parse(tb.GetCell(cell_with_number,i)); //Парсим число из столбца
if (got_dec >= min_value && got_dec <= max_value) //Если оно подходит по условиям
{
var got_row = tb.GetRow(i); //Берем строку
good_rows.Add(got_row); //Добавляем в список строк
}
}
if (good_rows.Count > 0) //Если список строк больше 0
{
var rnd = new Random(); //Создаем рандом
int index_randomed = rnd.Next(good_rows.Count); //Рандомим до максимального значения == количеству строк в списке со строками
var got_row_finally = good_rows[index_randomed]; //Берем срандомленную строку
project.Variables["taken_row"].Value = string.Join(";",got_row_finally); //Пихаем ее в переменную
}