Добрый день. У меня в одной ячейке идут различные промежутки дат, как из них вычленить промежуток определенного месяца, входящего в этот массив
Добрый день. У меня в одной ячейке идут различные промежутки дат, как из них вычленить промежуток определенного месяца, входящего в этот массивkiselew092
kiselew092, Пример нужен в формате Excel и желательно указать результат который должен получиться, а то не совсем понятно, что именно Вы имеете ввиду
kiselew092, Пример нужен в формате Excel и желательно указать результат который должен получиться, а то не совсем понятно, что именно Вы имеете ввидуmsi2102
kiselew092, здравствуйте. В Вашем примере (как он есть) думаю будет очень сложно, что-то сделать. В прикреплённом файле накидал свои видения. Может, что- то Вам и пригодится.
kiselew092, здравствуйте. В Вашем примере (как он есть) думаю будет очень сложно, что-то сделать. В прикреплённом файле накидал свои видения. Может, что- то Вам и пригодится.DrMini
Тоже набросал пока не было примера, но искал не диапазон, а дату. Сейчас переписывать не хочу, к тому же не совсем понятно как именно должен пересекаться искомый диапазон и промежутки на работе, например если искомый диапазон март 2023, то он входит в два диапазона, проще написать макрос или UDF, или PQ, а ещё лучше правильно вести базу, каждому диапазону своя строка, каждой дате свой столбец. Массивная [vba]
Код
=ЕСЛИ(ИНДЕКС(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =0]");ПОИСКПОЗ(C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =1]");1))>=C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(B2;СИМВОЛ(10);"</s><s>")&"</s></t>";"//s["&ПОИСКПОЗ(C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =1]");1)&"]");"Не в диапазоне")
[/vba]
Тоже набросал пока не было примера, но искал не диапазон, а дату. Сейчас переписывать не хочу, к тому же не совсем понятно как именно должен пересекаться искомый диапазон и промежутки на работе, например если искомый диапазон март 2023, то он входит в два диапазона, проще написать макрос или UDF, или PQ, а ещё лучше правильно вести базу, каждому диапазону своя строка, каждой дате свой столбец. Массивная [vba]
Код
=ЕСЛИ(ИНДЕКС(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =0]");ПОИСКПОЗ(C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =1]");1))>=C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(B2;СИМВОЛ(10);"</s><s>")&"</s></t>";"//s["&ПОИСКПОЗ(C2;ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(10);"-");"-";"</s><s>")&"</s></t>";"//s[position() mod 2 =1]");1)&"]");"Не в диапазоне")
Во первых kiselew092, вы нарушаете правила сайта часть 5g (использовать при написании постов крупный шрифт (крупнее 12 pt), а так же набирать всё сообщение прописными буквами). Это не красиво и неудобно читать. Я вам название темы поправил но вы так и продолжаете писать заглавными буквами. Исправьте.
Во первых kiselew092, вы нарушаете правила сайта часть 5g (использовать при написании постов крупный шрифт (крупнее 12 pt), а так же набирать всё сообщение прописными буквами). Это не красиво и неудобно читать. Я вам название темы поправил но вы так и продолжаете писать заглавными буквами. Исправьте.