9

Я пытаюсь преобразовать текст во время. В основном я копирую и вставляю общее время сотрудников, но оно вставляется как текстовое значение, а затем, чтобы добавить время, мне нужно преобразовать его во время, и мне нужно нажать F2 в каждой ячейке (много ячеек для много работников) и это действительно добавляет время, чтобы получить заработную плату. Знаете ли вы о какой-либо функции, которую я могу сделать, чтобы просто преобразовать текстовое значение во временное значение быстрее?

6 ответов6

7

Если у вас есть текстовое значение, например, 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))
5

Когда вы вставили данные из внешнего источника (например, веб-страницы ужасны для этого) в лист, и числа, даты и / или время представляют собой текстовые представления, а не истинные числа, даты и / или времена, обычно самым быстрым способом является выберите столбец и выберите Данные ► Текст в столбцы ► Фиксированная ширина ► Готово. Это вынуждает Excel переоценивать текстовые значения и должно возвращать псевдо-числа в их истинные числовые значения.

Если это происходит с формулами, вставленными в ячейки, отформатированные как текстовые или пользовательские, сначала установите для столбца общий формат, затем используйте Ctrl+H, чтобы найти what: = и Replace with: =, и снова Excel пересмотрит содержимое каждой ячейки, заменив текст, который выглядит как формула с операционной формулой.

Одним конкретным обстоятельством, которое, возможно, стоит отметить в общем смысле, является использование символа неразрывного пробела (ASCII 160 или 0 × A0), общего для веб-страниц, чтобы ячейки таблицы datetime не переносились на вторую строку. Если у вас есть то, что кажется пробелом, от которого вы просто не можете избавиться, используйте Ctrl+H, чтобы заменить неразрывные пробелы обычными пробелами (или ничего). На клавиатуре можно создать неразрывный пробел, удерживая нажатой одну из клавиш Alt , нажав 0 · 1 · 6 · 0 на цифровой клавиатуре (с включенной Num Lock), затем отпустив Alt .

2

Для времени, подобного 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))
1

Вы также можете комбинировать функции Substitue и TimeValue, чтобы убрать лишние пробелы и / или другие символы и оставить вас с правильно отформатированным временем.

EX

=TIMEVALUE(SUBSTITUTE(A1," PST","")) 

избавится от конечного пробела и 'PST', так что функция TimeValue может работать с ячейкой A1, которая содержит "11:58 AM PST"

0

Если формулы нет (значению времени не предшествует знак равенства), вы также можете использовать первое решение поиска / замены, но найдите: AM и replace: AM, затем найдите: PM и replace: PM.

Это заставит Excel переоценить текстовые значения в значения времени.

0

Вместо всего этого, попробуйте выделить весь столбец. Затем нажмите на текст в столбцы. Звучит странно, я знаю. Затем просто нажмите Готово. Он волшебным образом преобразует время или даты как обычное время или дату ... против текста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .