Преобразование полей времени в строки в Excel

У меня есть лист Excel, полный раз.

Они отформатированы так, чтобы они выглядели так: 1:00:15

Однако, если я изменю формат ячеек на текст, они изменятся на базовое числовое представление времени: 0,041840278.

Как я могу преобразовать ячейки в текстовые ячейки, но при этом иметь в них время?


person Gareth Simpson    schedule 21.10.2008    source источник


Ответы (6)


скопируйте столбец вставьте его в блокнот скопируйте его снова вставьте специальный как текст

person Aditya Mukherji    schedule 21.10.2008
comment
-1 если это вопрос программирования, ответ бесполезен. - person ; 21.10.2008
comment
Это может быть обманом, но это полностью решило проблему выдергивания волос для меня. - person overgroove; 04.03.2015
comment
Это самый быстрый способ, если вам нужно работать со значениями, превышающими 24 часа, потому что метод TEXT молча отбрасывает все оставшиеся дни (24-часовые единицы). С другой стороны, при копировании вы получаете числовое значение (приблизительно), а затем можете умножить его на 24, чтобы вернуть свои часы! - person user121391; 25.07.2017

Такого рода это всегда проблема в Excel, вам нужно преобразовать значения с помощью функции, потому что, как только Excel преобразует ячейки во время, они хранятся внутри как числа. Вот лучший способ, который я знаю, как это сделать:

Я предполагаю, что ваше время находится в столбце A, начиная с строки 1. В ячейке B1 введите следующую формулу: =TEXT(A1,"hh:mm:ss AM/PM"), перетащите формулу вниз по столбцу B до конца ваших данных в столбце A. Выберите значения из столбца B, скопируйте, перейдите в столбец C и выберите «Специальная вставка», затем выберите «Значения». Выберите ячейки, которые вы только что скопировали в столбец C, и отформатируйте ячейки как «Текст».

person Robert Gamble    schedule 21.10.2008
comment
Пришлось проголосовать за этот, так как я не могу поверить, что другой ответ был принят, ТАК выглядит как шутка! - person Lunatik; 21.04.2009
comment
Да, потому что имеет смысл тратить дополнительное время на ввод формулы, когда ответ все еще сводится к вставке в виде текста. - person Gareth Simpson; 16.05.2009
comment
Это сработало для меня. Первый ответ выше не позволял мне манипулировать ячейкой, содержащей время, т.е. объединение чего-либо с ней все равно вернуло бы значение времени excel. Это происходило даже тогда, когда перед записью в ячейку стоял символ ' . - person andreithegiant; 08.07.2018

Если вы хотите отображать эти числовые значения как время, измените формат ячейки на Время.

И если вы хотите преобразовать его в текст в другой ячейке:

=TEXT(A1,"hh:mm:ss")
person LukStorms    schedule 20.08.2015
comment
Измените свой ответ: =ТЕКСТ(A1,чч:мм:сс) верно. - person sj59; 03.03.2016
comment
Использование , или ; в функции Excel на самом деле является региональной настройкой в ​​​​ваших окнах: разделителем списка. На моем компьютере было установлено значение ;. - person LukStorms; 20.11.2017

Легко. Чтобы изменить значение времени, например: 1:00:15, на текст, вы можете использовать функцию «ТЕКСТ». Например, если ваше значение времени (1:00:15) содержится в ячейке «A1», вы можете преобразовать его в текст, выполнив: Текст (A1, «ч: мм: сс»). Результат все тот же: 1:00:15. Но обратите внимание, что на этот раз оно стало текстовым значением.

person Mark Chin    schedule 11.06.2010
comment
Я получил h:02:00 вместо этого в Excel 16.5 для Mac - person Great Question; 21.06.2021

Ниже сработало для меня

  • Сначала скопируйте содержимое, скажем, «1:00:15» в блокнот.
  • Затем выберите новый столбец, куда нужно скопировать текст из блокнота.
  • Затем щелкните правой кнопкой мыши и выберите параметр форматирования ячейки, а на этой вкладке выберите числа и на этой вкладке выберите параметр «Текст».
  • Теперь скопируйте содержимое из блокнота и вставьте в этот столбец Excel. это будет текст, но в формате "1:00:15".
person Community    schedule 11.08.2010

Скопируйте в переменную даты, затем преобразуйте ее в текст с помощью format(). Пример:

Function GetMyTimeField()
    Dim myTime As Date, myStrTime As String

    myTime = [A1]
    myStrTime = Format(myTime, "hh:mm")
    Debug.Print myStrTime & " Nice!"

End Function
person Makah    schedule 17.06.2017