|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.02.2013, 17:52 | #1 |
Пользователь
Регистрация: 29.01.2013
Сообщений: 43
|
Как в функцию передать часть диапазона?
Здравствуйте, есть таблица с именованными столбцами:
А:А - это _оценки 1 B:B - это _оценки 2 С:С - это _фактор А B C 1 0 1 2 1 1 2 2 2 3 2 3 4 1 3 5 1 3 6 0 4 В функцию СУММ нужно передать не весь диапазон, а его часть которая определяется столбцом С и значением в его ячейке. Например: подсчитать cумму значений столбцов _оценки1 и _оценки2 начиная со значения 3 в столбце _фактор. в функцию СУММ нужно передать часть диапазона _оценки1 и оценки2, а не весь. Как это сделать? Можно как-то формулой отсечь ненужное и получить новый диапазон, который и передать в функцию? Вопрос в том, чтобы получить именно нужный диапазон, а не проводить расчет через какие-то другие формулы. функция СУММ пользовательская и имеет спецификацию: Function СУММ(v1 As Range, v2 As Range) As String Спасибо. Последний раз редактировалось Stem79; 06.02.2013 в 17:57. |
06.02.2013, 18:03 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну если пользовательская - так можно внутри крутить как угодно. Добавьте ещё один параметр Optional - если он задан, то начинать суммировать только с строки, где в третьем диапазоне такое встречается. Или только такие строки.
И название я бы функции дал другое, хотя бы МояСУММ() -иначе могут быть сюрпризы в русском Экселе.
webmoney: E265281470651 Z422237915069 R418926282008
|
06.02.2013, 18:11 | #3 | |
Пользователь
Регистрация: 29.01.2013
Сообщений: 43
|
Цитата:
|
|
06.02.2013, 18:20 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Вариант 1:
=СУММ(ЕСЛИ(Кол.С=3;Кол.А)) - формула массива где Кол.С и Кол.А - ссылки на полные диапазоны с данными. ЕСЛИ от колонкиА оставит только те значения, где Кол.С = 3 (собственно, то что Вы хотите). Вариант 2: фильтр по колонке С, и формула с =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(...)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
06.02.2013, 18:40 | #5 | |
Пользователь
Регистрация: 29.01.2013
Сообщений: 43
|
Цитата:
Последний раз редактировалось Stem79; 06.02.2013 в 19:18. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как передать Динамический массив в функцию? | RainCat | Помощь студентам | 4 | 13.04.2011 11:25 |
Как передать указатель на функцию в функцию | WIN32APIist | Общие вопросы C/C++ | 1 | 27.01.2011 10:35 |
Как в Си# передать в функцию объект по значению? | vedro-compota | Общие вопросы .NET | 7 | 17.01.2011 19:02 |
Как передать объект в функцию? | BadProgrammer | Общие вопросы C/C++ | 4 | 06.11.2010 11:39 |
Как передать в функцию указатель на String | avd | Общие вопросы C/C++ | 6 | 06.06.2010 17:52 |