2014-11-05 2 views
2

Давайте предположим, что мы имеем следующее:исключающие строки динамически

A 
1 10 
2 20 
3 30 
4 20 
5 10 
6 30 
7 20 
8 
9 
10 =(AVERAGE(A1:A7) 
11 4 
12 6 

Я хотел бы быть в состоянии найти способ, чтобы вычислить среднее значение А1-А7 в ячейку А10, исключая диапазона строк определены в A11 и A12 , То есть, в соответствии с приведенной выше настройки результат должен быть 20:

((10 + 20 + 30 + 20)/4) = 20 

, потому что, если строки 4,5 и 6 исключены, что осталось, это строки 1,2,3,7 быть усреднены.

+0

Что вы подразумеваете под динамикой? Если вы зададите диапазон как «A1: A7», остальное все равно игнорируется. –

+1

@JacobJanTuinstra Я имею в виду, что хочу сделать среднее значение значений A1: A7 и иметь способ игнорировать некоторые значения в этом диапазоне. Диапазон игнорирования указан в ячейках A11 и A12. Целью этого является создание симулятора более крупной системы и программирование некоторых ячеек в качестве элементов управления для экспериментов. Вот почему я хочу, чтобы он был очень динамичным. –

+0

+1; теперь я понимаю. –

ответ

1

Кажется, чтобы удовлетворить ваши требования, хотя и не гибок:

=(sum(A1:A7)-indirect("A"&A11)-indirect("A"&A12))/(count(A1:A7)-2) 

Отрегулировать вновь непонимании требований:

=(SUM(A1:A7)-SUM(INDIRECT("A"&A11&":A"&A12)))/(COUNT(A1:A7)-A12+A11-1) 
+0

Я думаю, что вы отвечаете довольно близко, но вместо вычитания каждой ячейки, выведенной A11 и A12, я хотел бы вычесть диапазон. В этом случае мне нужно пропустить индекс строки: 4-5-6. Оптимально, вместо -2 в конце, это должно быть динамическое значение. –

1

Два других варианта:

=AVERAGE(FILTER(A1:A7,ISNA(MATCH(ROW(A1:A7),A11:A12,0))))

=ArrayFormula(AVERAGEIF(MATCH(ROW(A1:A7),A11:A12,0),NA(),A1:A7))

+0

Я отредактировал вопрос, чтобы уточнить ожидаемый результат. Возможно, вы могли бы еще раз взглянуть на него. благодаря –

Смежные вопросы