Страницы: 1
RSS
Получение даты из значения в заданной ячейке.
 
Добрый день, помогите пожалуйста с данной задачей.
Имеется дата 27.09.2020 зашифрованная в виде числа ХХХХХ0397Х. Где Х - произвольные символы, 0 - год в формате: 2020, 2021, 2022, 39 - номер недели (первая неделя в году считается с 1го января в независимости от количества дней в неделе), 7 - номер дня недели ( неделя начинается с понедельника). Необходимо с помощью формулы получить дату из данной кодировки. Заранее спасибо!
 
Возможно  топорно но так:
Если выходное значение нужно в виде даты: =ЗНАЧЕН(ЛЕВСИМВ(A1;2)&"."&ПСТР(A1;3;2)&"."&202&ПСТР(A1;6;1))  - только формат ячейки установите как дата
Если выходное значение нужно в виде текста:=ЛЕВСИМВ(A1;2)&"."&ПСТР(A1;3;2)&"."&202&ПСТР(A1;6;1))
Изменено: Dyroff - 27.09.2020 12:32:47
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
хххх откуда берется?
 
Цитата
Dyroff написал:
Если выходное значение нужно в виде даты
Да, итоговое значение будем в формате даты.
Почему то оба варианта не сработали. Первый выдал ошибку в значении, второй выдал ХХ.ХХ.2020
 
Цитата
_Igor_61 написал:
хххх откуда берется?
В этих символах зашифрована другая информация, они почти всегда неизменны, дата только в выделенных 4х символах.
 
Dyroff,почему то оба варианта не сработали. Первый дал ошибку, второй вот такие данные - ХХ.ХХ.2020.
 
Дмитрий, по моему, не работает
Код
=--("1-1-202"&ПСТР(ПОДСТАВИТЬ(A1;"Х";"");1;1))+((--ПСТР(ПОДСТАВИТЬ(A1;"Х";"");2;2)-1)*7)+(--ПСТР(ПОДСТАВИТЬ(A1;"Х";"");4;1)-ДЕНЬНЕД(--("1-1-202"&ПСТР(ПОДСТАВИТЬ(A1;"Х";"");1;1))))+1
 
=DATE(202&MID(A1;6;1);1;0)+MID(A1;7;2)*7+MID(A1;9;1)-7-WEEKDAY(DATE(202&MID(A1;6;1);1;0);2)
или чуть короче
=("1-1-202"&MID(A1;6;1))+MID(A1;7;2)*7+MID(A1;9;1)-8-WEEKDAY("1-1-202"&MID(A1;6;1);3)
Изменено: БМВ - 27.09.2020 13:05:26
По вопросам из тем форума, личку не читаю.
 
Михаил Л,спасибо, работает!
БМВ, ваш вариант тоже подошёл.
 
Цитата
Дмитрий написал:
почему то оба варианта не сработали.
Неправильно задачу понял. Я подумал что вместо ХХХХ , будут подставляться цифры из которых и надо составить дату
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Цитата
Дмитрий написал:
В этих символах зашифрована другая информация
Мой вариант надо будет доработать.
Если дата всегда с шестого по десятый символ, то формулу можно упростить
 
Михаил Л,именно так, с 6го по 9й включительно, только символы отмеченные цветом.
 
Цитата
Dyroff написал:
Неправильно задачу понял.
Такая же фигня. Зачем нужно было про ХХХХ писать, если проблема в счете символов
.Дмитрий, если это в Ваших силах, в следующий раз постарайтесь конкретней объяснять
 
Цитата
_Igor_61 написал:
конкретней объяснять
Извиняюсь если ввёл в заблуждение. Я постарался максимально уточнить, что из 10ти символов кодировки для получения даты используются только 4 отмеченные цветом и привёл их расшифровку. Спасибо за потраченное время  :)  
 
Цитата
Дмитрий написал:
с 6го по 9й включительно
Наверное уже сами поняли как упростить
Код
=("1-1-202"&ПСТР(A1;6;1))+((ПСТР(A1;7;2)-1)*7)+(ПСТР(A1;9;1)-ДЕНЬНЕД(("1-1-202"&ПСТР(A1;6;1))))+1
 
Цитата
БМВ написал:
или чуть короче
В #8 можно вместо "1-1-202" записать "1-202".  :)  
Владимир
 
Цитата
sokol92 написал:
В #8 можно вместо "1-1-202" записать "1-202".    
тогда уж просто "1-2" чего уж скупится  :D
По вопросам из тем форума, личку не читаю.
 
У гроссмейстера не выиграешь. :(  
Владимир
 
Цитата
sokol92 написал:
У гроссмейстера не выиграешь
Но его можно опередить :)  
 
Цитата
Михаил Л написал:
Но его можно опередить
опередил один такой в #7   8)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх