Передача формулы массива в качестве аргумента

Вопрос:

Я пытаюсь использовать функцию медианного абсолютного отклонения (т.е. MAD) в NumXL, но входной аргумент генерируется функцией IF Excel на диапазоне ячеек, см. пример ниже:

= MAD(IF($C$3:$C$100=$M9, $D$3:$D$100))

К сожалению, когда я это делаю, функция возвращает #NUM.

Ответить:

Короче говоря, да, можете.

Если посмотреть на ваш пример, то нам нужно сделать несколько изменений:

  • В настоящее время функция IF возвращает соответствующее значение из столбца D, если есть совпадение, и FALSE в противном случае. FALSE интерпретируется как ноль, поэтому нам нужно указать значение #N/A для отсутствия совпадения
    = MAD(IF($C$3:$C$100=$M9, $D$3:$D$100, #N/A))
  • Функция Excel IF(.) возвращает одно значение, если оно не помещено в массив. Для этого:
    • Выберите ячейку, в которой находится формула
    • Нажмите F2, чтобы отредактировать формулу
    • Теперь нажмите CTRL+SHIFT+ENTER
    • Теперь формула окружена курсивными скобками (т.е. {.})
      {= MAD(IF($C$3:$C$100=$M9, $D$3:$D$100, #N/A))}

Формат формулы массива используется в одной ячейке, чтобы заставить функцию ЕСЛИ(.) вернуть полный массив в функцию NumXL MAD(.).

Комментарии

Войдите в службу, чтобы оставить комментарий.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0