Условное удаление конечных нулей из времени - PullRequest
0 голосов
/ 20 апреля 2019

Я ищу удалить только нулевые концы из времен в Excel.то есть 0700 должно отображаться как 07, а 1630 должно оставаться как 1630.

Я смог сделать это в UDF, но это начинает замедлять мой лист.Есть ли способ достичь этого как встроенной функции?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2019

Ответ на запрос:

= ЕСЛИ (ПРАВЫЙ (ТЕКСТ (А1, "ччмм"), 2 = "00", LEFT (ТЕКСТ (A1, "чч"), 2), TEXT (A1, "ччмм"))

Приходится использовать ТЕКСТ для определения времени в виде строки, в противном случае Excel воспринимает его как десятичное число.

1 голос
/ 21 апреля 2019

Хотя на этот вопрос уже дан ответ, другие подходы могут включать:

=TEXT(A1,IF(MOD(A1*24,1),"hhmm","hh"))

или

=TEXT(A1,IF(OR(MINUTE(A1),SECOND(A1)),"hhmm","hh"))

В обоих случаях возвращаемое значение является строкой (значение больше не представляется внутри числа).

...