Преобразовать текстовое значение во временное значение в Excel

9

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

Джессика
источник

Ответы:

5

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

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

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


источник
Потрясающие!!! Я люблю это! Сделал мою жизнь намного проще!
Джессика
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))
G-Man говорит: «Восстанови Монику»
источник
А как насчет негативного времени, как у -0:30меня[h]:00
Пьер
@Pierre: Это интересный вопрос / наблюдение. (1) Речь идет о расписаниях сотрудников и заработной плате, поэтому маловероятно, что у Джессики будут какие-либо отрицательные значения (кроме как в качестве поправок к ранее введенным данным). Но я не буду использовать это как щит; Я согласен, что было бы неплохо иметь ответ, который обрабатывает любой разумный вклад. (2) Для записи, ни один из других ответов также не поддерживает отрицательные значения. (3) На самом деле, если вы вводите -0:30в ячейку, это не работает (хотя, как ни странно, -"0:30"работает). … (Продолжение)
G-Man говорит: «Восстановите Монику»
(Продолжение)… (4) Кроме того, ваш вопрос, кажется, основан на ложной предпосылке: в Excel 2013, даже если я вхожу -"0:30"или =-1/48в ячейку, я не могу отобразить ее как -0:30- пользовательский формат [h]:00не работает для меня. (5) Если вы задаете этот вопрос серьезно, то ответ формула , которая обрабатывает в -явном виде: =IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42)). Я не проверял это полностью; иди и сообщите мне, если вы найдете случай, когда это не удается.
G-Man говорит: «Восстанови Монику»
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))
user455717
источник
1

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

EX

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

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

Lucienp
источник
Это может не иметь отношения к этому вопросу (например, для Джессики, которая задала этот вопрос). Вопрос о расписаниях сотрудников и заработной плате. В моем ограниченном опыте табели времени содержат продолжительность времени, а не моменты времени . Например, если человек работал с 9:00 до 17:00 (в некотором часовом поясе), табель рабочего времени будет отображать только «8:00» ( продолжительность в восемь часов между 9 и 5, что равно разнице 17: 00-9: 00). Но я полагаю, что этот дополнительный шаг мог бы помочь кому-то еще, кто нашел этот вопрос в результате поиска.
G-Man говорит: «Восстановите Монику»
0

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

Уилл Сарджент
источник
3
Я предлагаю вам прочитать принятый ответ, прежде чем ответить на вопрос. Это то же самое, что вы упомянули. Я не вижу добавленной стоимости из-за вашего ответа
Прасанна
0

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

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

Stven2212
источник