Как создать формулу, которая случайным образом выбирает значение из определенного диапазона ячеек и возвращает его, если это значение больше 0?

Как можно модернизировать формулу, чтобы она выбирала случайную непустую ячейку в заданном диапазоне (например, в строке 13 от столбца F до столбца J), и возвращала значение оттуда, исключая возможность возвращения нуля, если выбранная ячейка пуста?
  • 8 марта 2024 г. 16:18
Ответы на вопрос 2
Для выбора случайного значения из диапазона ячеек, где значения больше 0, вы можете использовать следующую формулу в Excel:

```
=INDEX(A1:A10, RANDBETWEEN(1, COUNTIF(A1:A10, ">0")))
```

В этой формуле `A1:A10` - это диапазон ячеек, из которого будет происходить выбор случайного значения. Функция `RANDBETWEEN(1, COUNTIF(A1:A10, ">0"))` выбирает случайное число от 1 до количества ячеек, где значение больше 0, в диапазоне `A1:A10`. Функция `INDEX` возвращает значение из выбранной ячейки.

Чтобы модернизировать эту формулу так, чтобы она выбирала случайную непустую ячейку и исключала возможность возвращения нуля, можно воспользоваться следующей формулой:

```
=INDEX(F13:J13, MATCH(1, (F13:J13<>"")*(F13:J13>0), 0))
```

В этой формуле `F13:J13` - это диапазон ячеек, из которого будет происходить выбор случайной непустой ячейки. Функция `MATCH(1, (F13:J13<>"")*(F13:J13>0), 0)` находит позицию первой непустой ячейки со значением больше 0 в диапазоне `F13:J13`. Функция `INDEX` возвращает значение из выбранной ячейки.
Так? 
=ArrayFormula(INDEX(FILTER(F13:J13; F13:J13<>""); RANDBETWEEN(1;COUNTA(F13:J13))))
Похожие вопросы