У меня есть некоторые числовые данные в ячейках A1:A10. В B2 я пытаюсь получить среднее значение четных ячеек из A1:A10 (A2, A4, A6 ..) таким образом, чтобы исключить точку данных, если ячейка содержит 0.
Поэтому я использовал формулу AVERAGEIF вместе с оператором IF, чтобы вернуть нужные ячейки, кроме 0.
Моя формула в B2: (Это формула массива, и я действительно нажал ctrl shift, чтобы получить формулу массива)
{=AVERAGEIF(IF(MOD(ROW(A1:A10),2)=0,A1:A10,0),"<>0")}
Эта формула возвращает # ЗНАЧЕНИЕ! и я не понимаю причину того же. Я попытался оценить то же самое, и все выглядит хорошо до предпоследней стадии, однако на последнем шаге вычисления он просто возвращает #VALUE !.
Может ли кто-нибудь еще помочь мне в том, почему эта формула возвращает # ЗНАЧЕНИЕ !? Благодарю.
Дальнейшее обновление
Далее я проверил, что эта формула прекрасно работает в LibreOffice Calc, а также в Google Sheets. В случае с Google Sheets он автоматически добавляется в формулу ArrayFunction самостоятельно после CSE.
Кроме того, я обнаружил, что в автономной справке Excel 2013 для AVERAGEIF упоминается тот факт, что он принимает входные данные массива. Вот выдержка из справки.
Синтаксис функции AVERAGEIF имеет следующие аргументы (аргумент: значение, предоставляющее информацию для действия, события, метода, свойства, функции или процедуры.):
Диапазон Требуется. Одна или несколько ячеек для усреднения, включая числа или имена, массивы или ссылки, содержащие числа.
Критерии обязательны. Критерии в форме числа, выражения, ссылки на ячейку или текста, которые определяют, какие ячейки усредняются. Например, критерии могут быть выражены как 32, "32", «> 32», "яблоки" или B4.
Average_range Необязательно. Фактический набор ячеек в среднем. Если опущено, используется диапазон.
Для меня трудно сказать, является ли это поведением по конструкции или какой-то отсутствующей ошибкой функциональности в MS Excel.