Я пытаюсь преобразовать текст во время. В основном я копирую и вставляю общее время сотрудников, но оно вставляется как текстовое значение, а затем, чтобы добавить время, мне нужно преобразовать его во время, и мне нужно нажать F2 в каждой ячейке (много ячеек для много работников) и это действительно добавляет время, чтобы получить заработную плату. Знаете ли вы о какой-либо функции, которую я могу сделать, чтобы просто преобразовать текстовое значение во временное значение быстрее?
6 ответов
Если у вас есть текстовое значение, например, 8:00
в ячейке J42
, то поместите
=TIMEVALUE(J42)
в ячейку K42
и вы получите значение даты / времени в Excel, равное восьми часам.
По умолчанию он будет отображаться как 0.33333333
(потому что 8 часов - это ⅓ дня), но вы можете отформатировать его для отображения в качестве значения времени.
И, в зависимости от ваших потребностей, вы можете скопировать столбец K
и вставить значения поверх столбца J
, чтобы избавиться от текстовых значений и сохранить только значения даты / времени.
TIMEVALUE()
не обрабатывает отрицательные значения.
Если существует вероятность того, что ваши данные будут содержать отрицательные моменты времени, например -8:00
(возможно, из-за того, что у вас есть корректировки табеля или другие корректировки ранее введенных данных), вам нужна формула, которая обрабатывает -
явно:
=IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42))
Когда вы вставили данные из внешнего источника (например, веб-страницы ужасны для этого) в лист, и числа, даты и / или время представляют собой текстовые представления, а не истинные числа, даты и / или времена, обычно самым быстрым способом является выберите столбец и выберите Данные ► Текст в столбцы ► Фиксированная ширина ► Готово. Это вынуждает Excel переоценивать текстовые значения и должно возвращать псевдо-числа в их истинные числовые значения.
Если это происходит с формулами, вставленными в ячейки, отформатированные как текстовые или пользовательские, сначала установите для столбца общий формат, затем используйте Ctrl+H, чтобы найти what: = и Replace with: =, и снова Excel пересмотрит содержимое каждой ячейки, заменив текст, который выглядит как формула с операционной формулой.
Одним конкретным обстоятельством, которое, возможно, стоит отметить в общем смысле, является использование символа неразрывного пробела (ASCII 160 или 0 × A0), общего для веб-страниц, чтобы ячейки таблицы datetime не переносились на вторую строку. Если у вас есть то, что кажется пробелом, от которого вы просто не можете избавиться, используйте Ctrl+H, чтобы заменить неразрывные пробелы обычными пробелами (или ничего). На клавиатуре можно создать неразрывный пробел, удерживая нажатой одну из клавиш Alt
, нажав 0 · 1 · 6 · 0 на цифровой клавиатуре (с включенной Num Lock), затем отпустив Alt
.
Для времени, подобного 11:42:47.294
вы можете использовать эту формулу:
=TIME(MID(B13,SEARCH(":",B13,1)-2,2),MID(B13,SEARCH(":",B13,6)-2,2),MID(B13,SEARCH(":",B13,6)+1,6))
Вы также можете комбинировать функции Substitue и TimeValue, чтобы убрать лишние пробелы и / или другие символы и оставить вас с правильно отформатированным временем.
EX
=TIMEVALUE(SUBSTITUTE(A1," PST",""))
избавится от конечного пробела и 'PST', так что функция TimeValue может работать с ячейкой A1, которая содержит "11:58 AM PST"
Если формулы нет (значению времени не предшествует знак равенства), вы также можете использовать первое решение поиска / замены, но найдите: AM и replace: AM, затем найдите: PM и replace: PM.
Это заставит Excel переоценить текстовые значения в значения времени.
Вместо всего этого, попробуйте выделить весь столбец. Затем нажмите на текст в столбцы. Звучит странно, я знаю. Затем просто нажмите Готово. Он волшебным образом преобразует время или даты как обычное время или дату ... против текста.