Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.04.2008, 15:33   #1
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию Задачка для ума

На одном форуме попалась задача.
Вначале показалась простой.
Бился над ней долго, но так и не смог решить.
Все перепробовал (СМЕЩ,СТРОКА..)
Нужно решить без VBA.
Вложения
Тип файла: rar 001.rar (4.8 Кб, 47 просмотров)
ZORRO2005 вне форума
Старый 09.04.2008, 22:13   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ZORRO2005

Я сделал это.
Ответ высылаю на мыло - может еще кому интересно голову поломать, а то почитают ответ и не станут думать.

формула получилась длиной 74 символа. Функция СТРОКА() - основная в формуле

Всем успехов
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 09.04.2008 в 22:29.
IgorGO вне форума
Старый 10.04.2008, 11:09   #3
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

IgorGO
Как всегда супер!См.PM.
Одно решение есть c помощью СТРОКА и массивов,
но мне кажется у тех кто работает в банках есть еще решения.
Допустим с помощью ПЛТ,КПЕР и т.д.
Выкладывайте примеры,а я потом выложу ВСЕ.
ZORRO2005 вне форума
Старый 10.04.2008, 22:26   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вот вариант, который я отсылал ZORRO2005:
Код:
=СУММ((СТРОКА()>СТРОКА(к))*(СТРОКА()<=(к>0)*СТРОКА(к)+к)*(ЕСЛИ(к=0;;а/к)))
здесь
к - это имя присвоенное диапазону В2:В16
а - ...С2:С16

формула вводится как формула массива: жмем F2, Ctrl+Shift+Enter.

Смог получить аналогичные результаты, но формулу сократил до 52 символов. Может кто компактнее сделать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 12.04.2008, 11:27   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Всем привет!

Решение №2, на той же логике, только подключаем столбец с датами. Соответственно, А2:А16 называем буквой д, получаем:

Код:
=СУММ((СТРОКА()>СТРОКА(к))*(RC1<=(к>0)*д+к)*ЕСЛИ(к=0;;а/к))
или в стиле А1:

Код:
=СУММ((СТРОКА()>СТРОКА(к))*($A2<=(к>0)*д+к)*ЕСЛИ(к=0;;а/к))
(пишем во второй строке, размножаем вниз по таблице)

формула сделалась немного компактнее (ушел от 2 функций строка), но появилось существенное ограничение: в первой колонке даты должны идти строго подряд, с выходными и праздниками, иначе результат будет неправильный. Собственно, в таком виде задача сформулирована в исходном задании.

продолжение следует...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 12.04.2008 в 11:53.
IgorGO вне форума
Старый 13.04.2008, 23:33   #6
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

IgorGO!
Прикрепил бы готовый файл, новичкам ведь то же интересно, посмотреть решение!
Мне не понятно:
"Какую формулу написать в столбце E", это, что формулу, вставлять в диапазоне Е3:Е12 или в одной ячейки этого диап.?
valerij вне форума
Старый 13.04.2008, 23:56   #7
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Первый вариант IgorGO:
Вложения
Тип файла: rar Кредит01.rar (4.9 Кб, 26 просмотров)
ZORRO2005 вне форума
Старый 17.04.2008, 14:42   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вот еще один вариант для любителей.

Логика намного проще.
Если в первом случае я сам при попытках оптимизировать формулу несколько раз чуть не вывихнул себе мозг, то тут все более гумманно оформлено.
Вложения
Тип файла: rar Кредиты.rar (5.5 Кб, 31 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот это задачка!!! Лёха Паскаль, Turbo Pascal, PascalABC.NET 2 29.04.2008 10:54
Задачка для ума 3 ZORRO2005 Microsoft Office Excel 14 23.04.2008 12:35