|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
Здравствуйте! Имеются исходные данные: отгрузки в ТТ и продажи в магазине по дням. С определенной логикой вручную рассчитываю предполагаемый возврат и остатки. Пытаюсь написать формулу в excel, но запутался. Исходные данные и описание логики во вложенном файле. Подскажите, как можно написать формулу из заданной логики? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 20:49 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 20:50 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
Написал формулу для предполагаемого остатка. Только формула в ячейке D6 отличается от остальных, так как не подтягивает предыдущий остаток. То есть для всех ячеек не одинакова формула. Но предполагаемый остаток должен считаться с первой отгрузки, то есть с 2 июня. Как в формуле можно привязать такой фактор? По поводу определения предполагаемого возврата затрудняюсь привязать из определенной поставки не проданные SKU и срок годности. Какие промежуточные поля для ориентира тут нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 13:58 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikk, Если все правильно понял, то, возможно, так. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 15:04 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
iMrTidy, Предполагаемый возврат не правильно показывает расчет. Тогда для начала упростим исходные данные. На скриншоте видно: как посчитала формула и каким должен быть результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 11:33 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 11:34 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikk Предполагаемый возврат не правильно показывает расчет. Наверное все в отпусках) Предположу, что формулы были предложены только как пример и непротягиваемы вбок, потому что события, на к-рые надо реагировать не периодичны. При наличии времени, я б дописал, а так только словами. Вижу 2 способа: 1) Использовать вектор-функции на весь интервал (т.е. громоздкую формулу-массив) 2) по сути то же, только последовательно вводя промежуточные строки получиь конечный результат. Как минимум две промежуточные строки - индикаторы не периодичных событий: отгрузка и возврат. Потом уже из (2) можно сделать (1). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 12:11 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
exp98Предположу, что формулы были предложены только как пример и непротягиваемы вбок, потому что события, на к-рые надо реагировать не периодичны. При наличии времени, я б дописал, а так только словами. Вижу 2 способа: 1) Использовать вектор-функции на весь интервал (т.е. громоздкую формулу-массив) 2) по сути то же, только последовательно вводя промежуточные строки получиь конечный результат. Как минимум две промежуточные строки - индикаторы не периодичных событий: отгрузка и возврат. Потом уже из (2) можно сделать (1). Может быть проще написать пользовательскую функцию и там все расчеты вести? Учитывая что потом логика будет усложняться. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 14:06 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
iMrTidyferzmikk, Если все правильно понял, то, возможно, так. Что за логика этой формулы? Код: sql 1.
Зачем тут СУММПРОИЗВ? Такая формула работает Код: vbnet 1.
а такая, которая протягивается, не работает Код: sql 1.
а если вставить МАКС, то работает Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 15:09 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikk, ой блин, у меня последний день, даже последний час. авторМожет быть проще написать пользовательскую функцию Может быть проще написать пользовательскую функцию С макросами Вы на "Ты", с т.зр. рваных интервалов расчёта, наверное проще. авторЧто за логика ? = СУММПРОИЗВ(МАКС(($D$3:H3<>"")*СТОЛБЕЦ($D$3:H3)*(($D$3:H3-$D$4:H4)>0))) Зачем тут СУММПРОИЗВ? Кратко если, это давно уже типовой приём, когда надо обрабатывать подскобочное выражение аргументы как вектор. Вектор состоит из столбовых номеров": 1 в том столбе, где разность >0. Видимо, МАХ() будет один такой, возможно предполагается, что последний в диапазоне, и тогда 0 + 0 + Столб= Столб. Только не все функции поддаются "векторизации". Примерно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 16:07 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikkа если вставить МАКС, то работает [src] =МАКС ( $D$3:E3<>"") тут две скобки: МАКС( ( ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 16:09 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikkiMrTidy, Предполагаемый возврат не правильно показывает расчет. Тогда для начала упростим исходные данные. На скриншоте видно: как посчитала формула и каким должен быть результат. Тогда это не соответствует Вашему описанию: 3. У продукции срок годности 5 дней. Если от определенной поставки отгруженные продукции не проданы и просрочены в течение 5 дней со дня поставки , то идет на возврат в следущей поставке . А поставки 7 числа нет. Но в принципе, формула этого не учитывает. Формулой можно сделать, но на текущий момент у меня получилось вот такая кракозябра: =IF(I3<>""; SUMPRODUCT(($D$3:H3)*(COLUMN($D$3:H3)<SUMPRODUCT(LARGE(((COLUMN()-COLUMN($D$3:H3))<5)*($D$3:H3<>"")*(COLUMN($D$3:H3));SUMPRODUCT(--((((COLUMN()-COLUMN($D$3:H3))<5)*($D$3:H3<>"")*(COLUMN($D$3:H3)))<>0)))))) -SUMPRODUCT(($D$4:H4)*(COLUMN($D$3:H3)<SUMPRODUCT(LARGE(((COLUMN()-COLUMN($D$3:H3))<5)*($D$3:H3<>"")*(COLUMN($D$3:H3));SUMPRODUCT(--((((COLUMN()-COLUMN($D$3:H3))<5)*($D$3:H3<>"")*(COLUMN($D$3:H3)))<>0)))))) -SUM($D$5:H5); 0) И все еще не совсем корректно, поэтому все же будет лучше кодом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 16:15 |
|
Написать формулу с определенной логикой
|
|||
---|---|---|---|
#18+
ferzmikkiMrTidyferzmikk, Если все правильно понял, то, возможно, так. Что за логика этой формулы? Код: sql 1.
Зачем тут СУММПРОИЗВ? Такая формула работает Код: vbnet 1.
а такая, которая протягивается, не работает Код: sql 1.
а если вставить МАКС, то работает Код: sql 1.
Почитайте справку по СУММПРОИЗВ. Формула позволяет работать с множествами, применяя к ним условия и обертывая множества в другие формулы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 16:17 |
|
|
start [/forum/topic.php?fid=61&msg=39495576&tid=2172615]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 143ms |
0 / 0 |