Приветствую всех форумчан и прошу помощи. Есть реестр договоров поставок, в котором автоматически высчитывается плановая дата окончания поставки(и далее сравнивается с фактической), в зависимости от нескольких факторов. Например, если срок поставки задан в рабочих днях, то алгоритм расчёта один, если в календарных, то другой; при этом на методику расчёта влияют ещё несколько переменных параметров(см. файл примера), и в итоге получается огромная, громоздкая массивная формула с кучей вложенных друг в друга функций "ЕСЛИ". Реализовал, как мог, всё работает, но может быть есть какой-нибудь более изящный и компактный вариант? Заранее благодарю.
Приветствую всех форумчан и прошу помощи. Есть реестр договоров поставок, в котором автоматически высчитывается плановая дата окончания поставки(и далее сравнивается с фактической), в зависимости от нескольких факторов. Например, если срок поставки задан в рабочих днях, то алгоритм расчёта один, если в календарных, то другой; при этом на методику расчёта влияют ещё несколько переменных параметров(см. файл примера), и в итоге получается огромная, громоздкая массивная формула с кучей вложенных друг в друга функций "ЕСЛИ". Реализовал, как мог, всё работает, но может быть есть какой-нибудь более изящный и компактный вариант? Заранее благодарю.Xpert
InExSu, Если упрощённо: 1. Если срок поставки задан в календарных днях, и условия оплаты по факту поставки, то срок завершения поставки высчитывается путём прибавления срока поставки в календарных днях к дате подписания договора. 2. Если же срок поставки задан в календарных днях, но условия оплаты частичная(либо 100%) предоплата, то срок завершения поставки высчитывается путём прибавления срока поставки в календарных днях к дате осуществления предоплаты. 3. Если срок поставки задан в рабочих(банковских) днях, и условия оплаты по факту поставки, то срок завершения поставки высчитывается путём прибавления срока поставки в рабочих(банковских) днях к дате подписания договора. При этом перечень рабочих, выходных и праздничных дней вынесен на отдельный лист, откуда формула и берёт данные для расчёта. 4.Если же срок поставки задан в рабочих(банковских) днях, но условия оплаты частичная(либо 100%) предоплата, то срок завершения поставки высчитывается путём прибавления срока поставки в рабочих(банковских) днях к дате осуществления предоплаты.
Вот как-то так.
InExSu, Если упрощённо: 1. Если срок поставки задан в календарных днях, и условия оплаты по факту поставки, то срок завершения поставки высчитывается путём прибавления срока поставки в календарных днях к дате подписания договора. 2. Если же срок поставки задан в календарных днях, но условия оплаты частичная(либо 100%) предоплата, то срок завершения поставки высчитывается путём прибавления срока поставки в календарных днях к дате осуществления предоплаты. 3. Если срок поставки задан в рабочих(банковских) днях, и условия оплаты по факту поставки, то срок завершения поставки высчитывается путём прибавления срока поставки в рабочих(банковских) днях к дате подписания договора. При этом перечень рабочих, выходных и праздничных дней вынесен на отдельный лист, откуда формула и берёт данные для расчёта. 4.Если же срок поставки задан в рабочих(банковских) днях, но условия оплаты частичная(либо 100%) предоплата, то срок завершения поставки высчитывается путём прибавления срока поставки в рабочих(банковских) днях к дате осуществления предоплаты.