Критерий оценки для Google Sheets / Excel - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь использовать листы для решения среднего на основе определенных c критериев. Я использовал AVERAGEIFS(), чтобы решить его, но я не могу получить соответствующие критерии.

Вот что я делал:

=AVERAGEIFS(Average_Range,Criterion1_Eval_range,AND(IFNA($A1,FALSE),NOT($A1=0)),Criterion2_Eval_range,IF(REGEXMATCH($D1, "Work"), TRUE, FALSE))

Как вы видите, мои критерии оценки:

AND(IFNA($A1,FALSE),NOT($A1=0))
IF(REGEXMATCH($D1, "Work"), TRUE, FALSE)

Я хочу получить ячейки в столбце A, которые не равны 0 или N / A, и мне нужен РЕГЕКСОР столбца D, в котором есть слово «работа». Мне также было интересно, как получить только четные значения. MOD(cell, 2)=0 как критерий.

Я думаю, что проблема в критерии. Общий ответ - div / 0, поскольку ни одна ячейка не оценивается как истинная. Я думаю, что $D1 и $A1 не переключаются для каждой строки.

В этом примере Sheets желаемый результат будет 38. (Последний столбец, последняя строка)

На изображении я хочу получить среднее значение всех чисел, если столбец 1 является четным числом больше 5. Чтобы соответствовать моему конкретному c вопросу, добавьте столбец с текстом «да» для четных чисел и «нет» "Странно. Используйте регулярные выражения, чтобы определить, следует ли включать число в среднее значение.

Редактировать: [Дополнительная информация]

Данные: 10, home,, 35, work,, 763, office,, 4, work,, 7345, work,, 74, office,, 65, home,,n/a, work,,0, work,,

По существу, существует значение и связанное ключевое слово. Среднее значение должно быть только для значений одного слова. Значения упорядочены из-за других ограничений.

Ответы [ 2 ]

0 голосов
/ 11 мая 2020

Следующая конструкция AVERAGEIFS вместе с ARRAYFORMULA даст вам желаемый результат.

Для вашего примера листа следующая формула приведет к 38.

=AVERAGEIFS(B2:B9,ARRAYFORMULA(ISEVEN(A2:A9)),"true",ARRAYFORMULA(A2:A9),">5")

Пример снимка экрана

0 голосов
/ 02 мая 2020

попробуйте сбросить IF

=AVERAGEIFS(Average_Range, 
 Criterion1_Eval_range, 1=(IFNA($A1, FALSE))*(NOT($A1=0))), 
 Criterion2_Eval_range, REGEXMATCH($D1, "Work"))
...