Кто-нибудь может объяснить, почему это не работает?

=AVERAGEIF(Data!C:C,{"Monday","Tuesday"},Data!L:L)

Я хочу получить среднее значение для столбца L, где в столбце C указан понедельник ИЛИ вторник. Это дает результат только среднего понедельника.

2 ответа2

3

Я могу предоставить альтернативу, используя AVERAGE & IF в качестве формулы массива.

Скорее всего, причина, по которой он не работает, заключается в том, что вы передаете ему массив {понедельник, вторник}, но сама функция не работает как формула массива, что приводит к обработке только первого элемента массива. т.е. "понедельник"

Например, попробуйте это =ROW(A1:A4) Ожидается, что он вернет 1,2,3,4, но вернет 1, поскольку это не формула массива. Преобразование этого в формулу массива все еще возвращает 1 первый элемент, так как нет ничего для обработки массива. Теперь оберните это в SUM, например =SUM(ROW(A1:A4)) и нажмите CTRL+SHIFT+ENTER в пределах панели формул, чтобы преобразовать это в формулу массива. Теперь он правильно возвращает 10 так же, как =SUM(1,2,3,4)

Вам также следует избегать среднего значения среднего, поскольку это может привести к ошибочным результатам. например, Среднее (1,2,3) не совпадает со Средним (Среднее (1,2), Среднее (3))

Используйте эту формулу массива, чтобы получить желаемый результат.

=AVERAGE(IF(Data!C:C={"Monday","Tuesday"},Data!L:L))

Нажмите CTRL + SHIFT + ENTER в строке формул, чтобы преобразовать эту формулу в формулу массива. Формула должна заключить себя в фигурные скобки сейчас.

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

0

Ваша функция AVERAGEIF возвращает массив. Затем вам нужно усреднить результирующий массив:

=AVERAGE(AVERAGEIF(Data!C:C,{"Monday","Tuesday"},Data!L:L))

Тем не менее, это не дает среднего значения всего за понедельник или вторник, если только в понедельник и вторник не введено одинаковое количество записей. Другими словами, это среднее от среднего числа понедельника; вт.

Если понедельник и вторник не имеют одинаковое количество записей, и вы хотите, чтобы это учитывалось в среднем, вам нужно сделать что-то вроде (не проверено)

= SUM(SUMIF(Data!C:C, { "Понедельник", "Вторник"}, данные!L:L))/SUM(COUNTIF(Data!C:C, { "Понедельник", "Вторник"}))

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