Страницы: 1
RSS
Подсчёт стандартного отклонения среднего в выборке по заданным условиям
 
Добрый день!
Ситуация следующая: есть выборка, в которой ведущим критерием группировки является возраст, также есть различные количественные показали, для которых необходимо подсчитать среднее значение по всей выборке и в группах по возрастам, плюс-минус стандартное отклонение среднего.
В прилагаемом файле маленький кусочек общей базы, чтобы было понятно, что уже есть и что хотелось бы.
Первая табличка собственно кусочек базы, с которой работаем.
Вторая, справа, представление результатов. Необходимо, чтобы в каждой ячейке было представлено среднее значение, округлённое до необходимого количества знаков, затем знак "плюс-минус" и значение стандартного отклонения для подсчитанного среднего. В строке  "Общее" это сделано так, как нужно в итоге.
В строках по группам пока посчитано только среднее через функцию СРЗНАЧЕСЛИМН с указание диапазонов по возрасту. С подсчётам стандартного отклонения такого сделать не получается.
Подскажите, пожалуйста, как можно сделать так, чтобы стандартное отклонение среднего тоже было автоматически посчитано только по тем значениям которые соответствую возрастной группе? Вручную сделать это очень тяжело, потому что критериев оценки большое количество, и выборка постепенно пополняется - каждый раз придётся вручную добавлять данные.
 
Автоматизировать извлечение диапазонов возраста не делал
=ROUND(AVERAGEIFS(B$1:B$100;$A1:$A100;">0";$A$1:$A$100;"<4");2)&" ± " &ROUND(SQRT(SUM(((B$2:B$100-AVERAGEIFS(B$1:B$100;$A$1:$A$100;">0";$A$1:$A$100;"<4"))*($A$2:$A$100>0)*($A$2:$A$100<4))^2)/(COUNTIFS($A$2:$A$100;">0";$A2:$A100;"<4")-1));2)
Проще так
=ROUND(AVERAGEIFS(B$1:B$100;$A1:$A100;">0";$A$1:$A$100;"<4");2)&" ± " &ROUND(STDEV.S(IF(($A$1:$A$100>0)*($A$1:$A$100<4);B$1:B$100));2)
Изменено: БМВ - 12.01.2019 16:37:43
По вопросам из тем форума, личку не читаю.
 
формула массива в R3C6:
Код
=ОКРУГЛ(СРЗНАЧ(ЕСЛИ((R2C1:ИНДЕКС(C1;СЧЁТЗ(C1))>=RC4)*(R2C1:ИНДЕКС(C1;СЧЁТЗ(C1))<=RC5);R2C[-4]:ИНДЕКС(C[-4];СЧЁТЗ(C1))));2) & " ± " & ОКРУГЛ(СТАНДОТКЛОН(ЕСЛИ((R2C1:ИНДЕКС(C1;СЧЁТЗ(C1))>=RC4)*(R2C1:ИНДЕКС(C1;СЧЁТЗ(C1))<=RC5);R2C[-4]:ИНДЕКС(C[-4];СЧЁТЗ(C1))));2)
приведите названия обозначения групп в норму и копируйте ячейку R3C6 вправо и вниз, или вниз а потом вправо (данные в таблице можно произвольно удалять/добавлять)
Изменено: Ігор Гончаренко - 12.01.2019 16:12:41
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
БМВ написал: =ROUND(AVERAGEIFS(B$1:B$100;$A1:$A100;">0";$A$1:$A$100;" 0)*($A$1:$A$100<4);B$1:B$100));2)
Попробовал посчитать для группы 12-35, от чего-то выдаёт деление на 0 (зелёные клетки).
И при попытках что-то изменить в формулах в жёлтых клетках тоже появляется это деление на 0, хотя так вроде всё верно посчитано. Не подскажете, в чём причина?
 
Формула массива вводится тремя клавишами
 
Elias_Aubert, то, что Вы называете клетками, в Excel принято называть ячейками.
 
Цитата
Юрий М написал:
Elias_Aubert , то, что Вы называете клетками, в Excel принято называть ячейками.
Ваше замечание по теме вопроса и в корне меняет всё происходящее. Спасибо.
 
Огрызаться не нужно, просто примите к сведению... Вставлять бездумно в цитату копию сообщения тоже не нужно
 
Цитата
Elias_Aubert написал: Попробовал посчитать для группы 12-35
93.63 ±   10.7     13.07 ± 3.45
Изменено: Ігор Гончаренко - 12.01.2019 17:02:19
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
vikttur, без надобности умничать тоже ни к чему.
А ваше замечание про ввод формулы массива помогло решить проблему, большое спасибо.

БМВ, Вам тоже огромное спасибо. Раньше не знал, что через ЕСЛИ можно работать с диапазонами ячеек.
Изменено: Elias_Aubert - 12.01.2019 17:04:01
 
Elias_Aubert, Вы нарываетесь на бан! Зачем ёрничать?
 
Юрий М, у вас, простите, ЧСВ зашкаливает от титула модератора.
Вставили не к месту свои "пять копеек", и теперь возмущаетесь, что ваш авторитет не признан.
Закончим эту бессмысленную перебранку.
Вопрос по теме решён.
Всем ещё раз большее спасибо.
 
Elias_Aubert, похоже, это у Вас эго зашкаливает.
Вам подсказали. Без наездов, без грубости. Вместо того, чтобы поблагодарить за поправку и принять информацию, Вы иголки распускаете. Это нормальное поведение?
 
Elias_Aubert,  и правда, прекратите пререкаться. Никто мордой не тыкал, просто есть термины, которые нужно употреблять правильно.
Тетрадь - в клеточку, Птичка в клетке. Даже яйцо в клетке или в ячейке, но вот CELL это ячейка и никак иначе.
Цитата
Юрий М , у вас, простите, ЧСВ зашкаливает от титула модератора.
Это ученый кот никоем образом не подвержен таким инфекциям.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх