Страницы: 1
RSS
Как секунды перевести в формат (нед, дни, час, мин, сек) одной формулой
 
Как число секунд перевести в формат (нед, дни, час, мин, сек) одной формулой.
Пример прилагается
Изменено: Александр Медведев - 03.05.2021 15:34:03
Если не можешь победить беспорядок, то надо возглавить его.
 
и вам здрасьте
из примера непонятно по какому принципу выводить или нет нулевые значения
в общем виде:
Код
=ЦЕЛОЕ(A2/86400/7)&" нед "&ТЕКСТ(ОСТАТ(A2/86400;7);"Д \дн ч \ч м \м с \с")
Изменено: buchlotnik - 03.05.2021 15:53:49
Соблюдение правил форума не освобождает от модераторского произвола
 
Приветствую)
Нулевые значения не надо выводить.
По секундам в примере не убрал зерошки(
Если не можешь победить беспорядок, то надо возглавить его.
 
Код
=ОБЪЕДИНИТЬ(" ";1;ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ЦЕЛОЕ(A2/86400/7)&" нед-"&ТЕКСТ(ОСТАТ(A2/86400;7);"Д \дн-ч \ч-м \м-с \с");"-";"</i><i>")&"</i></j>";"//i[not(starts-with(., '0'))]"))
или сразу в формат пихнуть
Код
=ОБЪЕДИНИТЬ(" ";1;ФИЛЬТР.XML("<j><i>"&ЦЕЛОЕ(A2/86400/7)&" нед</i><i>"&ТЕКСТ(ОСТАТ(A2/86400;7);"Д \дн</i><i>ч \ч</i><i>м \м</i><i>с \с</i></j>");"//i[not(starts-with(., '0'))]"))
Изменено: buchlotnik - 03.05.2021 16:16:44
Соблюдение правил форума не освобождает от модераторского произвола
 
Ого. Первый раз вижу такое применение в Excel такой конструкции. Супер.
Не полностью решает вопрос, но в некоторых случаях можно и так использовать.
Изменено: Александр Медведев - 03.05.2021 16:28:12
Если не можешь победить беспорядок, то надо возглавить его.
 
Цитата
Александр Медведев написал:
Не полностью решает вопрос
пруф?
Соблюдение правил форума не освобождает от модераторского произвола
 
Not пруф.
Мой косяк!
Скопировал формулу из сообщения, не открыв сам файл.
А там массивная формула.

Огромное спасибо сенсей!)
Пошел отрабатывать новые приемы на своих "кошках".
Изменено: Александр Медведев - 03.05.2021 16:35:13
Если не можешь победить беспорядок, то надо возглавить его.
 
Цитата
Александр Медведев написал:
Первый раз вижу такое применение в Excel такой конструкции
ну всяко короче чем
Код
=СЖПРОБЕЛЫ(ЕСЛИОШИБКА(1/(1/ЦЕЛОЕ(A2/86400/7))&" нед ";"")&ЕСЛИОШИБКА(1/(1/ДЕНЬ(ОСТАТ(A2/86400;7)))&" дн ";"")&ЕСЛИОШИБКА(1/(1/ЧАС(ОСТАТ(A2/86400;7)))&" ч ";"")&ЕСЛИОШИБКА(1/(1/МИНУТЫ(ОСТАТ(A2/86400;7)))&" м ";"")&ЕСЛИОШИБКА(1/(1/СЕКУНДЫ(ОСТАТ(A2/86400;7)))&" с ";""))
хотя это дело вкуса  ;)

в 365 можно соорудить функцию
Код
=LAMBDA(x;y;z;ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(x;y;"</i><i>")&"</i></j>";"//i"&z))
и её юзать:
Код
=ОБЪЕДИНИТЬ(" ";;SPLIT(ЦЕЛОЕ(A2/86400/7)&" нед-"&ТЕКСТ(ОСТАТ(A2/86400;7);"Д \дн-ч \ч- м\м -с \с");"-";"[not(starts-with(., '0'))]"))
Изменено: buchlotnik - 04.05.2021 01:53:55
Соблюдение правил форума не освобождает от модераторского произвола
 
а если по простому
=TEXT(INT(A2/86400/7);"0\ не\д ;;")&TEXT(INT(MOD(A2/86400;7));"0\ \дн ;;")&TEXT(INT(MOD(A2/3600;24));"0\ \ч ;;")&TEXT(INT(MOD(A2/60;60));"0\ \м ;;")&TEXT(INT(MOD(A2;60));"0\ \c ;;")
Изменено: БМВ - 04.05.2021 08:43:13
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
по простому
по простому бы было, если бы недели/декады/кварталы в формате можно было задавать...  ;)
а так с ФИЛЬТР.XML даже со всей адской разметкой лаконичнее выходит
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
если бы недели/декады/кварталы в формате можно было задавать..
это конечно да, но меня больше мучает вопрос, кому нужна точность до секунд, если сперва идет счет недель :-)
По вопросам из тем форума, личку не читаю.
 
Ну мало ли, полет зонда на Марс надо посчитать...
Соблюдение правил форума не освобождает от модераторского произвола
Страницы: 1
Наверх