Страницы: 1
RSS
Выбор диапазона по условию
 
Здравствуйте!  
Есть формула =СУММЕСЛИ('Рабочая таблица'!F$4:F$3000;B15;'Рабочая таблица'!U$4:U$2999)  
 
Эта формула считает зарплату. Есть таблица с несколькими сотрудниками и у них есть фирмы. По каждой фирме он получает свой процент. В итоге суммируются все процента данного сотрудника. Тут вопросов не возникает. Но месяцев то 12. Соответственно этот диапазон суммирования 'Рабочая таблица'!U$4:U$2999 статичен и придётся делать 12 форм для бланков зарплат вместо одной.  
 
А в идеале конечно хотелось бы что бы выбрали месяц где то и диапазон автоматически поменялся на другой. Это возможно сделать?  
 
Спасибо
 
Да.
 
{quote}{login=kim}{date=10.02.2010 09:33}{thema=}{post}Да.{/post}{/quote}  
Конкретика от вас так и прет!!!)))
 
подскажите пожалуйста как... ))))))))) ну или хоть намекните))))))
 
Я правильно вас понимаю, что ответ "Да, можно. Руками. *многозначительно постукивает пальцами по клавиатуре, как будто бы намекая на что-то*" вас тоже не устроит?  
 
Ну...суммеслимн или суммпроизв, немного разбавить ещё какой-нибудь функцией вроде месяц(), всё это дело хорошо взболтнуть и вуаля!  
 
Если не поможет-выложите файл.
 
ИНДЕКС в купе с ПОИСКПОЗ возможно тоже поможет...
 
Вот файлик, помогите пожалуйста
 
Давно бы так...
 
kim глупостей не советует :)  
=СУММЕСЛИ($B$2:$B$9;D14;ИНДЕКС($C$2:$N$9;;ПОИСКПОЗ($D$12;$C$1:$N$1;0)))
 
Низкий Вам поклон! Большое спасибо!  
 
правда не понял логики... как он выбирает диапазон если он там не указан... ууууу
 
{quote}{login=}{date=11.02.2010 08:23}{thema=}{post}Вот файлик, помогите пожалуйста{/post}{/quote}  
 
Вот вам ваш готовый вариант просто под нужным месяцем потом будете заполнять свои данные
 
а где можно найти содержмоей списка "Диапазон"?  
 
что то всё обыскался уже
 
{quote}{login=}{date=11.02.2010 09:25}{thema=}{post}а где можно найти содержмоей списка "Диапазон"?  
 
что то всё обыскался уже{/post}{/quote}  
Не там искали имена посмотрите
 
нашёл спасибо, блин эта функция смещ... лан попробую разобраться не понимаю какона работает
 
{quote}{login=}{date=11.02.2010 08:45}{thema=}{post}правда не понял логики... как он выбирает диапазон если он там не указан...{/post}{/quote}  
Диапазон есть, но он "пусто" :)  
ИНДЕКС(массив;№_строки;№_столбца) - выбирает значение из определенной ячейки массива, заданной №_строки и №_столбца. Если явно не задавать один из этих параметров, ИНДЕКС считает, что задан весь диапазон. В случае с Вашей задачей:  
=ИНДЕКС($C$2:$N$9;;№_столбца)  
Не указан №_строки - определяется диапазон в 8 строк выбранного столбца.
 
{quote}{login=}{date=11.02.2010 09:45}{thema=}{post}нашёл спасибо, блин эта функция смещ... лан попробую разобраться не понимаю какона работает{/post}{/quote}  
Справочку по ней СМЕЩ() посмотрите  прогоните вычислить формулу пару раз да руку надо набить без нее никак динамический диапазон не построешь... правда Виктор да прочие зубры говорят  , что она плоха так как "летучая" .
 
всё разобрался и реализовал в своей программе.  
 
БОЛЬШОЕ ВАМ СПАСИБО ЗА МЕГАПОМОЩЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Микки а как прогнатгнать вычислить формулу?
 
{quote}{login=}{date=11.02.2010 10:02}{thema=}{post}Микки а как прогнатгнать вычислить формулу?{/post}{/quote} В 2007 в закладке формулы есть режим -вычислить формулу а где она в 2003 не помню уже по моему в данных.
 
и ещё возникла проблема формула получилась вот такой  
 
=СУММЕСЛИ('Рабочая таблица'!F5:F3000;$B15;ИНДЕКС('Рабочая таблица'!K5:EB3000;;ПОИСКПОЗ($E$5;'Рабочая таблица'!$K$1:$EB$1;0)))  
 
так вот если нет совпадений. ну то есть в бланке есть 3% графа он её ищут в той таблице данных а там нет 3% то он пишет #ССЫЛКА! ну оно и понятно что ошибка, но как бы подправить формулу что типа если нет совпадения то рано 0?
 
{quote}{login=}{date=11.02.2010 10:09}{thema=}{post}и ещё возникла проблема формула получилась вот такой  
 
=СУММЕСЛИ('Рабочая таблица'!F5:F3000;$B15;ИНДЕКС('Рабочая таблица'!K5:EB3000;;ПОИСКПОЗ($E$5;'Рабочая таблица'!$K$1:$EB$1;0)))  
 
так вот если нет совпадений. ну то есть в бланке есть 3% графа он её ищут в той таблице данных а там нет 3% то он пишет #ССЫЛКА! ну оно и понятно что ошибка, но как бы подправить формулу что типа если нет совпадения то рано 0?{/post}{/quote}  
Начните формулу с ЕСЛИ(ЕОШ(СУММЕСЛИ('Рабочая таблица'!F5:F3000;$B15;ИНДЕКС('Рабочая таблица'!K5:EB3000;;ПОИСКПОЗ($E$5;'Рабочая таблица'!$K$1:$EB$1;0))));" ";СУММЕСЛИ и т.д...)
 
Определение диапазона месяцев (количества столбцов):  
=СМЕЩ(Лист1!$C$1;;;1;СЧЁТЗ(Лист1!$1:$1)-2)  
Оправдано, если диапазон по столбцам будет расширяться. СЧЁТЗ(Лист1!$1:$1)-2 отвечает за количество столбцов.  
 
=СМЕЩ(Лист1!$C$2:$C$9;;ПОИСКПОЗ(Лист1!$D$12;Месяцы;0)-1;СЧЁТЗ(СМЕЩ(Лист1!$C$2:$C$9;0;ПОИСКПОЗ(Лист1!$D$12;Месяцы;0)-1));1)  
Здесь непонятно применение диапазона для определения количества строк (Второе СМЕЩ).  
Если явно указано СМЕЩ(Лист1!$C$2:$C$9...(8 строк), то    
=СМЕЩ(Лист1!$C$2:$C$9;;ПОИСКПОЗ(Лист1!$D$12;Месяцы;0)-1)  
Если нужен динамический диапазон, то в определении ширины по строкам  
СЧЁТЗ(Лист1!A:A)-2;1) или ПОИСКПОЗ("яя";A2:A100;1) и получится где0то так:  
=СМЕЩ(Лист1!$B$2;;ПОИСКПОЗ(Лист1!$D$12;Месяцы;0);СЧЁТЗ(Лист1!$A:$A)-1;1)  
 
Так как СМЕЩ - функция летучая, применение в динамических именах ИНДЕКС/ПОИСКПОЗ более оправдано.
 
{quote}{login=}{date=11.02.2010 10:09}{thema=}{post}так вот если нет совпадений. ну то есть в бланке есть 3% графа он её ищут в той таблице данных а там нет 3% то он пишет #ССЫЛКА!{/post}{/quote}  
Никак из темы не выйду :)  
Можете укоротить предложенную МИККИ - проверять на ошибку не всю формулу:  
=ЕСЛИ(СЧЕТЕСЛИ(диапазон;3%);формула;0)
 
{quote}{login=vikttur}{date=11.02.2010 10:20}{thema=Re: }{post}{quote}{login=}{date=11.02.2010 10:09}{thema=}{post}так вот если нет совпадений. ну то есть в бланке есть 3% графа он её ищут в той таблице данных а там нет 3% то он пишет #ССЫЛКА!{/post}{/quote}  
Никак из темы не выйду :)  
Можете укоротить предложенную МИККИ - проверять на ошибку не всю формулу:  
=ЕСЛИ(СЧЕТЕСЛИ(диапазон;3%);формула;0){/post}{/quote}  
Ага лучше пусть всю формулу проверяет... где еще потом ошибка выскочит .. это она пока тут ... вообще то мне 2007 ЕОШИБКА() больше нравится синтаксисом один раз писать надо ..
 
Всем спасибо всё работает как надо! СПА-СИ-БО!!!!!!!!!!!!!
Страницы: 1
Читают тему
Наверх