Страницы: 1
RSS
среднее значение трёх непустых ячеек
 
Профессионалы Excel, приветствую.

Есть строки с данными.

Мне нужно, чтобы формула нашла в каждой первые 4 значения слева направо, пропуская пустые ячейки, и выдала среднее значение.
(то есть в примере, который в файле, в третьей строке должна получиться цифра 29.71, в четвертой строке - 19.74, в пятой - 15.26)

Собственных познаний не хватает. Спасибо, если кто подскажет.
 
Код
=СРЗНАЧ(ИНДЕКС(A3:M3;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(C3:M3);СТОЛБЕЦ(C3:M3);"");СТОЛБЕЦ(A1:D1))))
Соблюдение правил форума не освобождает от модераторского произвола
 
Спасибо!
 
buchlotnik,
а это что за мистика?
Код
=СРЗНАЧ(ИНДЕКС(A3:M3;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(C3:M3);СТОЛБЕЦ(C3:M3);"");СТОЛБЕЦ(A1:D1))))
результаты правильные, но когда ставлю курсор в ячейку и Ctrl+Shift+Enter результатом становится первое значение из диапазона данных (что собственно и написано в формуле)
не понимаю как туда попали правильные значения, особенно не понимаю когда вычисляю в пошаговом режиме на последнем шаге срзнач($D$3), вычислить пишет 29.705, как ??? и только  Ctrl+Shift+Enter - пишет 23.81.
что это? кто знает?

среднее берем с диапазона С3 по ячейку содержащую 4-е число по ИНДЕКС(A3:M3;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(C3:M3);СТОЛБЕЦ(C3:M3);"");4))
итог (формула массива):
Код
=СРЗНАЧ(C3:ИНДЕКС(3:3;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(C3:M3);СТОЛБЕЦ(C3:M3);"");4)))
Изменено: Ігор Гончаренко - 27.09.2020 17:26:13
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
что за мистика?
Мдя, к хорошему быстро привыкаешь - не пояснил, что моя формула работает только в свежей эксельке.
Мистика состоит в том, что в 365-м офисе появились динамические массивы, а вместе с ними возможность скармливать ИНДЕКСу (и не только) массив значений, в старых версиях, естественно, ИНДЕКС() хватает только первое значение из этого массива и имеем то, что имеем.
Изменено: buchlotnik - 27.09.2020 20:50:32
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
ИНДЕКСу (и не только) массив значений, в старых версиях, естественно, ИНДЕКС() хватает только первое значение из этого массива и имеем то, что имеем.
так надо пояснить ему что он не прав
=AVERAGE(INDEX(A3:M3;N(INDEX(SMALL(IF(ISNUMBER(C3:M3);COLUMN(C3:M3);"");COLUMN(A1:D1));))))
Но я тоже б по пути Игоря пошел.
=AVERAGE(A3:INDEX(A3:M3;SMALL(IF(ISNUMBER(C3:M3);COLUMN(C3:M3));4)))
Только ,"" я б убрал.
Изменено: БМВ - 27.09.2020 23:02:52
По вопросам из тем форума, личку не читаю.
 
спасибо! так немного понятнее...
но  остается загадкой как мой (2019-й офис) пошагово считая эту формулу на последнем шаге СРЗНАЧ($D$3) писал 29.705 если в Д3 = 23.81 и очевидно, что среднее значение из 23.81 равно 23.81, а не 29.705
вот загадочная ситуация...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх