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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.10.2008, 16:39   #1
Artem_Z
 
Регистрация: 26.10.2008
Сообщений: 3
По умолчанию выполнение функции СЕГОДНЯ во внешних файле

Добрый день, прошу совета.
Ситуация такова:
1. Есть таблица в которой идет учет данных по договорам, столбцов много. Назовем ее БАЗА. По договорам контрагенты имеют возможность платить в рассрочку. Срок рассрочки разный - от 2 до 18 месяцев. Сумма, которая оплачена по каждому договору велась накопительно, без учета даты оплаты обязательного ежемесячного транша.
2. Возникла ситуация, когда контрагенты начали нарушать график оплаты, платить невовремя и т.д. Сделал отдельную таблицу которая с помощью ЕСЛИ, СЕГОДНЯ и других функций проверяет график оплат и определяет на текущую дату есть ли просрочка у контрагента и в каком размере.
3. Для теста сделал три таблицы (три отдельных внешних файла) на каждого контрагента и привязал результирующие ячейки (наличие просрочки и сума) к соответствующим ячейкам в БАЗЕ.
4. Связи работают, необходимые данные вытагиваются из внешних файлов. Во внешних файлах, если их открыть - тоже все пересчитывается.

В чем проблема:
Допустим есть внешний файл Вася.хсл, в котором по контрагенту забит график платежей и туда раз в месяц вносится информация о проплате. У Васи срок оплаты ежемесячного транша - 01.01.2008. Вася не платит, на календаре дата 15.01.2008, к Васе надо применять штрафные санкции. Но пока ты не откроешь внешний файл Вася.хлс, чтобы он пересчитался, в БАЗЕ так и будет вытягиваться, что у него все ОК.

Насколько я понял - Эксель не пересчитывает данные во внешних файлах, в т.ч. функцию СЕГОДНЯ.

Как избежать этого?

Как вариант - сделать в БАЗЕ новый лист под каждого контрагента, но их сейчас 170, а будет более 350. Неудобно будет искать нужного, чтобы внести инфо о платеже (может ссылки?).
Не знаю - можно ли столько листов создавать в одной книге и к чему это приведет (замедление работы)?

Кроме всего прочего - БАЗА лежит на внешнем сетевом диске, доступ к ней помимо меня имеют также подчиненные.

Подскажите, пожалуйста, как решить эту проблему?
Artem_Z вне форума
Старый 26.10.2008, 21:03   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

мое представление такое:
наличие базы - правильно. в ней по датам записаны все собития (отгрузки, оплаты и пр.)
необходимо еще одну книгу, а в ней сделать два листа:
один лист должники: его просто открываем а в нем на основании даты сегодя и состояния базы видим всех задолжавших
второй лист: контрагаент - сверху пишем название, снизу види картину событий. может быть на втором листе добавить понятие "период" увидим долг на начало периода, собития за период, долги на конец периода.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 26.10.2008, 23:29   #3
Artem_Z
 
Регистрация: 26.10.2008
Сообщений: 3
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
мое представление такое:
наличие базы - правильно. в ней по датам записаны все собития (отгрузки, оплаты и пр.)
необходимо еще одну книгу, а в ней сделать два листа:
один лист должники: его просто открываем а в нем на основании даты сегодя и состояния базы видим всех задолжавших
второй лист: контрагаент - сверху пишем название, снизу види картину событий. может быть на втором листе добавить понятие "период" увидим долг на начало периода, собития за период, долги на конец периода.
Спасибо за совет, надо подумать над такой идеей.
Главная проблема в чем:
До того как начали платить невовремя, информация велась следующим образом:
Строка 1. Название "Васи", сумма договора, что купил, характеристики, дата заключения договора, платеж 1, платеж 2, ... Платеж 18, Сумма платежей.
Строка 2. Название "Васи"-2 ... далее аналогично.
Это позволяло с помощью фильтров быстро делать отчеты по нужным критериям.
Теперь же надо добавить в каждую строку еще и статус "просрочка/непросрочка" и сумма просрочки. А тут без внешней таблицы не обойтись, т.к. График будет вестись "горизонтально" и работает через ЕСЛИ и СЕГОДНЯ.
Чувствую, что без макросов тут не обойтись, а писать их не умею (пока).
Artem_Z вне форума
Старый 27.10.2008, 13:26   #4
Artem_Z
 
Регистрация: 26.10.2008
Сообщений: 3
По умолчанию

Приложу примеры моей БАЗЫ и "Васей".
Может ещё какой-то хороший человек совет даст.
Важное отметил жёлтым, архив рар.
Вложения
Тип файла: rar тест_БАЗА2.rar (16.7 Кб, 23 просмотров)
Artem_Z вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение функции nikleb JavaScript, Ajax 7 10.08.2008 01:49
Уровень значимости Assembler'а сегодня [Kaiser] Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 15 07.09.2007 09:05
Как узнать какой сегодня день недели? Рустам Общие вопросы Delphi 9 05.09.2007 17:04
Импорт внешних данных asale Microsoft Office Excel 1 15.04.2007 00:41