Я делаю электронную таблицу для подсчета ингредиентов рецепта, усредняю оценки качества ингредиента, упаковки и точности размера порции, а затем использую эти данные, чтобы получить среднее значение для всего рецепта.

Баллы заполняются путем проверки данных. 1 = плохо, 2 = хорошо, 3 = хорошо. Формула AVERAGE работает нормально, когда все поля вводятся через выпадающие списки, но если в одной из строк остаются все пустые значения, я получаю ошибку DIV/0 в столбце, в котором я пытаюсь получить среднее значение (E8:E19 ) а также среднее значение по всему рецепту (B20 ). Я пытался сделать AVERAGEIF , но это не сработало, и я в тупике. Каждый рецепт имеет разное количество ингредиентов, поэтому важно, чтобы эта функция работала, есть ли у меня один ингредиент или 20.

Я пытался загрузить скриншот, но сайт не дал мне.

2 ответа2

0

Вы пытались использовать функцию обнаружения ошибок в Excel? Как вы уже сказали, если вы берете среднее значение только пустых ячеек, Excel предоставит результат Div/0.

Допустим, есть 3 человека (A, B, C), рассматривающих рецепт для гуакамоле. Допустим, CSV выглядит примерно так:

Ингредиент, Оценка A, Оценка B, Оценка C

Авокадо, 1,2,3

Cilanto ,,,

Известь, 1,2,3

Помидор, 1,2,3

Когда вы вычисляете среднее значение для каждого ингредиента, используйте следующую формулу:= IF(ISERROR(AVERAGE(«диапазон оценки ингредиента»)= TRUE), «», AVERAGE(«диапазон оценки ингредиента»)

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

Тогда вы сможете без проблем усреднить все оценки ваших ингредиентов. Вы также можете выбрать ингредиент как 0, а не как пустой. Это, конечно, изменит математику в среднем по рецепту.

0

IFERROR - очень удобная функция;

  • IFERROR(рассчитано_значение, значение по умолчанию)

    коротка для

  • IF(ISERROR(рассчитанное_значение), default_value, рассчитанное_значение)

т. е. он заменяет значение ошибки по умолчанию (обычно не ошибочное значение).  Таким образом, вы, вероятно, хотите что-то вроде

IFERROR(AVERAGE(E8:E19), "")

заменив "" на то, что вы хотите получить, когда E8:E19 не числовой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .