Выбор диапазона до определенной строки

Автор klepabim, 25 декабря 2022, 20:03

0 Пользователи и 1 гость просматривают эту тему.

klepabim

Здравствуйте!
Подскажите, пожалуйста, как можно изменить формулу в столбце I, чтобы автоматически изменялся диапазон? То есть если в ячейке I1 будет указан номер изменения, например, Б, то в столбце I будут учитываются изменения с начального до Б включительно, и не будут учитываются последующие изменения.

bigor

Здравствуйте.

Попробуйте такую
=IF(H3="Рабочий";VLOOKUP(F3;CHOOSE({1;2};B$3:INDEX(B$3:B$10;MATCH($I$1;A$3:A$10;0));C$3:INDEX(C$3:C$10;MATCH($I$1;A$3:A$10;0)));2;1);VLOOKUP(F3;CHOOSE({1;2};B$3:INDEX(B$3:B$10;MATCH($I$1;A$3:A$10;0));D$3:INDEX(D$3:D$10;MATCH($I$1;A$3:A$10;0)));2;1))
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

klepabim


klepabim

Подскажите, пожалуйста, как изменить формулу, чтобы изменения касались только указанного периода, а данные последующих дней не изменялись?

bigor

А можно поподробнее, что нам нужно получить.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

klepabim

Цитата: bigor от 26 декабря 2022, 08:56А можно поподробнее, что нам нужно получить.
Изменения значений должны коснуться, только указанного периода.
Изменения В начинаются с 06.09.22 и должны заканчиваться 16.09.22, с 17.09.22 должны быть значения без изменений согласно прошлым изменениям.
Желтым цветом выделены ячейки, значения которых должны изменяться, а оранжевым - не должны.

bigor

Как понял из объяснений, для столбца К
=IF(AND(VLOOKUP($K$1;$A$4:$C$10;2;0)<=G3;VLOOKUP($K$1;$A$4:$C$10;3;0)>=G3);VLOOKUP($K$1;$A$4:$E$10;IF(I3=$D$1;4;5);0);J3)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

klepabim

Цитата: bigor от 26 декабря 2022, 13:14Как понял из объяснений, для столбца К
=IF(AND(VLOOKUP($K$1;$A$4:$C$10;2;0)<=G3;VLOOKUP($K$1;$A$4:$C$10;3;0)>=G3);VLOOKUP($K$1;$A$4:$E$10;IF(I3=$D$1;4;5);0);J3)
Спасибо, вы правильно меня поняли!
Но, к сожалению, выяснилось, что это ещё не всё(((
Могут изменяться не только данные для рабочего и выходного дней, но и сам день: 21.09.22 был рабочим, стал выходным: вместо 175,66 должно быть 96,36

bigor

Наверное так:
=IF(AND(VLOOKUP($M$1;$A$4:$C$10;2;0)<=I3;VLOOKUP($M$1;$A$4:$C$10;3;0)>=I3);VLOOKUP($M$1;$A$4:$E$10;IF(AND(K3=$D$1;OR(VLOOKUP($M$1;$A$4:$F$10;6;0)="";VLOOKUP($M$1;$A$4:$F$10;6;0)=$D$1));4;5);0);L3)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

klepabim

Цитата: bigor от 26 декабря 2022, 23:10Наверное так:
=IF(AND(VLOOKUP($M$1;$A$4:$C$10;2;0)<=I3;VLOOKUP($M$1;$A$4:$C$10;3;0)>=I3);VLOOKUP($M$1;$A$4:$E$10;IF(AND(K3=$D$1;OR(VLOOKUP($M$1;$A$4:$F$10;6;0)="";VLOOKUP($M$1;$A$4:$F$10;6;0)=$D$1));4;5);0);L3)
bigor, большое спасибо! Но эта формула не работает в обратную сторону, когда с выходного на рабочий надо поменять

bigor

Попробуйте так, это решение в лоб, возможно можно что-то оптимизировать
=IF(AND(VLOOKUP($M$1;$A$4:$C$10;2;0)<=I3;VLOOKUP($M$1;$A$4:$C$10;3;0)>=I3);VLOOKUP($M$1;$A$4:$E$10;IF(AND(K3=$D$1;OR(VLOOKUP($M$1;$A$4:$F$10;6;0)="";VLOOKUP($M$1;$A$4:$F$10;6;0)=$D$1));4;IF(VLOOKUP($M$1;$A$4:$F$10;6;0)=$D$1;4;5));0);L3)
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут