Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расчет дня недели следующей поставки - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчет дня недели следующей поставки (Формулы/Formulas)
Расчет дня недели следующей поставки
Владимиr Дата: Четверг, 29.08.2019, 23:13 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Пытаюсь решить задание два из прикрепленного файла.
Мои варианты так и не увенчались успехом - три ЕСЛИ связанное И

Расчет колонки "День недели следующей поставки":

1. Если поставка попадает на СБ или ВС и сумма инвойса до 20 тыс., дата поставки переносится на предшествующую пятницу;
Код
=ЕСЛИ((K17)="СБ","ВС")И(F17>20000)*F17;ДЕНЬНЕД(ПТ)

2. Если поставка попадает на СБ или ВС и сумма инвойса 20 тыс. и выше, дата поставки переносится на понедельник, следующий за выходными;
Код
=ЕСЛИ((K17)="СБ","ВС")И(F17<20000)*F17;ДЕНЬНЕД(ПН)

3. Если дата поставки попадает на будний день, корректировка даты не производится.
Код
=ЕСЛИ((K17)="ИЛИ(ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1)));G17

ИТОГО
Код
=И(ЕСЛИ(((K17)="СБ","ВС")И(F17>20000)*F17;ДЕНЬНЕД(ПТ));ЕСЛИ((K17)="СБ","ВС")И(F17<20000)*F17;ДЕНЬНЕД(ПН);ЕСЛИ((K17)="ИЛИ(ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1)));G17)


Как вариант:
Код
=И(ЕСЛИ(((G17;ДЕНЬНЕД(6,7;2))И(F17>20000)*F17;ДЕНЬНЕД(5;2)));ЕСЛИ((G17)ДЕНЬНЕД(6,7;2))И(F17<20000)*F17;ДЕНЬНЕД(G17=1;2);ЕСЛИ((G17);ИЛИ((ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1;2)));G17)


Просьба подсказать как решить или указать где ошибка
Заранее спасибо!
К сообщению приложен файл: 9437417.xls (36.5 Kb)


Сообщение отредактировал Владимиr - Пятница, 30.08.2019, 19:50
 
Ответить
СообщениеЗдравствуйте!
Пытаюсь решить задание два из прикрепленного файла.
Мои варианты так и не увенчались успехом - три ЕСЛИ связанное И

Расчет колонки "День недели следующей поставки":

1. Если поставка попадает на СБ или ВС и сумма инвойса до 20 тыс., дата поставки переносится на предшествующую пятницу;
Код
=ЕСЛИ((K17)="СБ","ВС")И(F17>20000)*F17;ДЕНЬНЕД(ПТ)

2. Если поставка попадает на СБ или ВС и сумма инвойса 20 тыс. и выше, дата поставки переносится на понедельник, следующий за выходными;
Код
=ЕСЛИ((K17)="СБ","ВС")И(F17<20000)*F17;ДЕНЬНЕД(ПН)

3. Если дата поставки попадает на будний день, корректировка даты не производится.
Код
=ЕСЛИ((K17)="ИЛИ(ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1)));G17

ИТОГО
Код
=И(ЕСЛИ(((K17)="СБ","ВС")И(F17>20000)*F17;ДЕНЬНЕД(ПТ));ЕСЛИ((K17)="СБ","ВС")И(F17<20000)*F17;ДЕНЬНЕД(ПН);ЕСЛИ((K17)="ИЛИ(ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1)));G17)


Как вариант:
Код
=И(ЕСЛИ(((G17;ДЕНЬНЕД(6,7;2))И(F17>20000)*F17;ДЕНЬНЕД(5;2)));ЕСЛИ((G17)ДЕНЬНЕД(6,7;2))И(F17<20000)*F17;ДЕНЬНЕД(G17=1;2);ЕСЛИ((G17);ИЛИ((ДЕНЬНЕД(I15)=7;ДЕНЬНЕД(I15)=1;2)));G17)


Просьба подсказать как решить или указать где ошибка
Заранее спасибо!

Автор - Владимиr
Дата добавления - 29.08.2019 в 23:13
Pelena Дата: Четверг, 29.08.2019, 23:26 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Владимиr, оформите формулы тегами с помощью кнопки fx в режиме правки поста.
У Вас вопрос по Google Docs? Если да, то перенесу в соответствующий раздел, если нет, то прикладывайте файл-пример в формате Excel к сообщению в соответствии с Правилами форума


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВладимиr, оформите формулы тегами с помощью кнопки fx в режиме правки поста.
У Вас вопрос по Google Docs? Если да, то перенесу в соответствующий раздел, если нет, то прикладывайте файл-пример в формате Excel к сообщению в соответствии с Правилами форума

Автор - Pelena
Дата добавления - 29.08.2019 в 23:26
Владимиr Дата: Четверг, 29.08.2019, 23:51 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena,
К сожалению, файл не прикладывается -размер больше дозволенного, только ссылка
 
Ответить
СообщениеPelena,
К сожалению, файл не прикладывается -размер больше дозволенного, только ссылка

Автор - Владимиr
Дата добавления - 29.08.2019 в 23:51
китин Дата: Пятница, 30.08.2019, 07:19 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
оформите формулы тегами с помощью кнопки fx в режиме правки поста.

не надо весь файл. оставьте 15-20 строк с сохранением реальной структуры файла


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
оформите формулы тегами с помощью кнопки fx в режиме правки поста.

не надо весь файл. оставьте 15-20 строк с сохранением реальной структуры файла

Автор - китин
Дата добавления - 30.08.2019 в 07:19
Владимиr Дата: Пятница, 30.08.2019, 19:21 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Прикрепил


Сообщение отредактировал Владимиr - Пятница, 30.08.2019, 19:49
 
Ответить
СообщениеПрикрепил

Автор - Владимиr
Дата добавления - 30.08.2019 в 19:21
Светлый Дата: Пятница, 30.08.2019, 20:41 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Здравствуйте!
Может быть, устроит такая формула:
Код
=F17+ЕСЛИ(ДЕНЬНЕД(F17;16)<3;(E17>=20000)*3-ДЕНЬНЕД(F17;16))


Программировать проще, чем писать стихи.
 
Ответить
СообщениеЗдравствуйте!
Может быть, устроит такая формула:
Код
=F17+ЕСЛИ(ДЕНЬНЕД(F17;16)<3;(E17>=20000)*3-ДЕНЬНЕД(F17;16))

Автор - Светлый
Дата добавления - 30.08.2019 в 20:41
Владимиr Дата: Пятница, 30.08.2019, 21:24 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Светлый,
Нет, не подойдет. В Вашем случае дата следующей поставки получается 17.06.2201 на первую позицию, а условие указано в пределах двух недель
 
Ответить
СообщениеСветлый,
Нет, не подойдет. В Вашем случае дата следующей поставки получается 17.06.2201 на первую позицию, а условие указано в пределах двух недель

Автор - Владимиr
Дата добавления - 30.08.2019 в 21:24
Светлый Дата: Пятница, 30.08.2019, 23:29 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Цитата Владимиr, 30.08.2019 в 21:24, в сообщении № 7 ()
17.06.2201 на первую позицию
Где Вы такое увидели? Формула не может дать отличие от заданной даты больше двух дней
, а у Вас в столетиях разница.
К сообщению приложен файл: 6296762-1.xlsx (12.4 Kb)


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Цитата Владимиr, 30.08.2019 в 21:24, в сообщении № 7 ()
17.06.2201 на первую позицию
Где Вы такое увидели? Формула не может дать отличие от заданной даты больше двух дней
, а у Вас в столетиях разница.

Автор - Светлый
Дата добавления - 30.08.2019 в 23:29
Владимиr Дата: Воскресенье, 01.09.2019, 18:47 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Светлый,
Вот что мне ответил препод

У вас должны быть следующие проверки с помощью ЕСЛИ и И
сб и больше 20к - тогда к дате добавляем 2 дня
вс и больше 20к - тогда к дате добавляем 1 день
сб и меньше 20к - тогда отнимаем 1 день

Но я все-равно не фига не понял) Не поможете дорешать?)
 
Ответить
СообщениеСветлый,
Вот что мне ответил препод

У вас должны быть следующие проверки с помощью ЕСЛИ и И
сб и больше 20к - тогда к дате добавляем 2 дня
вс и больше 20к - тогда к дате добавляем 1 день
сб и меньше 20к - тогда отнимаем 1 день

Но я все-равно не фига не понял) Не поможете дорешать?)

Автор - Владимиr
Дата добавления - 01.09.2019 в 18:47
Pelena Дата: Воскресенье, 01.09.2019, 20:29 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Видимо варианты Сергея (Светлого) преподу не по зубам :D
Тогда, что называется, "в лоб"
Код
=ЕСЛИ(И(J17="СБ";E17<20000);F17-1;ЕСЛИ(И(J17="ВС";E17<20000);F17-2;ЕСЛИ(И(J17="СБ";E17>=20000);F17+2;ЕСЛИ(И(J17="ВС";E17>=20000);F17+1;F17))))

И на названия дней недели обратите внимание. У Вас в столбце J неверная формула была.
Дни недели вообще просто форматом можно вывести (см. столбец G)

Формулу немного исправила. Файл перевложила
К сообщению приложен файл: 9437417-1-.xls (37.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВидимо варианты Сергея (Светлого) преподу не по зубам :D
Тогда, что называется, "в лоб"
Код
=ЕСЛИ(И(J17="СБ";E17<20000);F17-1;ЕСЛИ(И(J17="ВС";E17<20000);F17-2;ЕСЛИ(И(J17="СБ";E17>=20000);F17+2;ЕСЛИ(И(J17="ВС";E17>=20000);F17+1;F17))))

И на названия дней недели обратите внимание. У Вас в столбце J неверная формула была.
Дни недели вообще просто форматом можно вывести (см. столбец G)

Формулу немного исправила. Файл перевложила

Автор - Pelena
Дата добавления - 01.09.2019 в 20:29
Владимиr Дата: Воскресенье, 01.09.2019, 20:43 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena,
Большое спасибо!
А для столбца - осталось полных месяцев, можете формулу предложить?
 
Ответить
СообщениеPelena,
Большое спасибо!
А для столбца - осталось полных месяцев, можете формулу предложить?

Автор - Владимиr
Дата добавления - 01.09.2019 в 20:43
Pelena Дата: Воскресенье, 01.09.2019, 21:11 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Этот вопрос не относится к данной теме, создайте новую.
И желательно приложить Ваши попытки решения


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЭтот вопрос не относится к данной теме, создайте новую.
И желательно приложить Ваши попытки решения

Автор - Pelena
Дата добавления - 01.09.2019 в 21:11
Светлый Дата: Воскресенье, 01.09.2019, 21:15 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
"в лоб"
надо >=20000 сделать, а то эта сумма выпадает из выходных.


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
"в лоб"
надо >=20000 сделать, а то эта сумма выпадает из выходных.

Автор - Светлый
Дата добавления - 01.09.2019 в 21:15
Pelena Дата: Воскресенье, 01.09.2019, 21:34 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Да, конечно, исправила формулу. Спасибо)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеДа, конечно, исправила формулу. Спасибо)

Автор - Pelena
Дата добавления - 01.09.2019 в 21:34
Владимиr Дата: Понедельник, 09.09.2019, 00:48 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, Светлый,
Преподу и этот вариант не понравился - требует делать вот так
Код
"ЕСЛИ(ДЕНЬНЕД(G17;2)>5;ЕСЛИ(F17<20000;G17-(8-ДЕНЬНЕД(G17;2));G17+(8-ДЕНЬНЕД(G17;2)));G17)


Вот тут ЕСЛИ(ДЕНЬНЕД(G17;2)>5 - не подходит, потому что для вс и сб РАЗНЫЕ условия.
И так везде. Вы игнорируете структуру формулы.
Объясняю еще раз.
Формула ЕСЛИ - внутри 3 аргумента
1. Условие/или много условий
2. Что делать формуле, если условие ИСТИНА
3. Что делать формуле, если условие ЛОЖЬ"

Помогите еще раз)
 
Ответить
СообщениеPelena, Светлый,
Преподу и этот вариант не понравился - требует делать вот так
Код
"ЕСЛИ(ДЕНЬНЕД(G17;2)>5;ЕСЛИ(F17<20000;G17-(8-ДЕНЬНЕД(G17;2));G17+(8-ДЕНЬНЕД(G17;2)));G17)


Вот тут ЕСЛИ(ДЕНЬНЕД(G17;2)>5 - не подходит, потому что для вс и сб РАЗНЫЕ условия.
И так везде. Вы игнорируете структуру формулы.
Объясняю еще раз.
Формула ЕСЛИ - внутри 3 аргумента
1. Условие/или много условий
2. Что делать формуле, если условие ИСТИНА
3. Что делать формуле, если условие ЛОЖЬ"

Помогите еще раз)

Автор - Владимиr
Дата добавления - 09.09.2019 в 00:48
bmv98rus Дата: Понедельник, 09.09.2019, 07:50 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
ну просто в лоб как по написанному условию, без извратов и шока для препода
Код
=IF(WEEKDAY(F17;2)<6;F17;IF(E17<20000;F17-WEEKDAY(F17;2)+5;F17+8-WEEKDAY(F17;2)))


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Понедельник, 09.09.2019, 19:39
 
Ответить
Сообщениену просто в лоб как по написанному условию, без извратов и шока для препода
Код
=IF(WEEKDAY(F17;2)<6;F17;IF(E17<20000;F17-WEEKDAY(F17;2)+5;F17+8-WEEKDAY(F17;2)))

Автор - bmv98rus
Дата добавления - 09.09.2019 в 07:50
Светлый Дата: Понедельник, 09.09.2019, 11:08 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
А чтобы преподаватель не закис можно ещё F17 вынести за скобки (за все ЕСЛИ). Если поймёт, то и -ДЕНЬНЕД() тоже из внутреннего ЕСЛИ.
*+5 и +8 надо поменять местами.
**
Цитата Владимиr, 09.09.2019 в 00:48, в сообщении № 15 ()
вс и сб РАЗНЫЕ условия
Условия одинаковые, значения дня недели разные. Это как раз хорошо, когда суббота вычитается 6, а когда воскресенье/, вычитается семь. +5 - это будет пятница, +8 - следующий понедельник.


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Понедельник, 09.09.2019, 20:35
 
Ответить
СообщениеА чтобы преподаватель не закис можно ещё F17 вынести за скобки (за все ЕСЛИ). Если поймёт, то и -ДЕНЬНЕД() тоже из внутреннего ЕСЛИ.
*+5 и +8 надо поменять местами.
**
Цитата Владимиr, 09.09.2019 в 00:48, в сообщении № 15 ()
вс и сб РАЗНЫЕ условия
Условия одинаковые, значения дня недели разные. Это как раз хорошо, когда суббота вычитается 6, а когда воскресенье/, вычитается семь. +5 - это будет пятница, +8 - следующий понедельник.

Автор - Светлый
Дата добавления - 09.09.2019 в 11:08
bmv98rus Дата: Понедельник, 09.09.2019, 19:53 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Светлый, 09.09.2019 в 11:08, в сообщении № 17 ()
*+5 и +8 надо поменять местами.

да, начал с >= а при замене не подправил
Вариации на тему
Код
=F19+(WEEKDAY(F19;2)>5)*(IF(E19<20000;5;8)-WEEKDAY(F19;2))


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Понедельник, 09.09.2019, 20:57
 
Ответить
Сообщение
Цитата Светлый, 09.09.2019 в 11:08, в сообщении № 17 ()
*+5 и +8 надо поменять местами.

да, начал с >= а при замене не подправил
Вариации на тему
Код
=F19+(WEEKDAY(F19;2)>5)*(IF(E19<20000;5;8)-WEEKDAY(F19;2))

Автор - bmv98rus
Дата добавления - 09.09.2019 в 19:53
Светлый Дата: Понедельник, 09.09.2019, 20:54 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Вариации на тему
Разность в скобки надо взять.
Код
=F17+(ДЕНЬНЕД(F17;16)<3)*((E17>=20000)*3-ДЕНЬНЕД(F17;16))


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Вариации на тему
Разность в скобки надо взять.
Код
=F17+(ДЕНЬНЕД(F17;16)<3)*((E17>=20000)*3-ДЕНЬНЕД(F17;16))

Автор - Светлый
Дата добавления - 09.09.2019 в 20:54
bmv98rus Дата: Понедельник, 09.09.2019, 20:59 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Светлый, 09.09.2019 в 20:54, в сообщении № 19 ()
Разность в скобки надо взять.
Ага, день косяков , прям с утра :-)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата Светлый, 09.09.2019 в 20:54, в сообщении № 19 ()
Разность в скобки надо взять.
Ага, день косяков , прям с утра :-)

Автор - bmv98rus
Дата добавления - 09.09.2019 в 20:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Расчет дня недели следующей поставки (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!