Konwertuj wartość tekstową na wartość czasu w programie Excel


9

Próbuję przekonwertować tekst na czas. Zasadniczo kopiuję i wklejam całkowity czas pracowników, ale wkleja się on jako wartość tekstową, a następnie w celu dodania czasu muszę go przekonwertować na czas i muszę nacisnąć F2 w każdej komórce (WIELE KOMÓRK DLA DUŻYCH PRACOWNIKÓW) a to naprawdę dodaje czasu na wpisanie się na listę płac. Czy znasz jakąś funkcję, którą mogę zrobić, aby szybciej przekonwertować wartość tekstową na wartość czasową?

Odpowiedzi:


5

Po wklejeniu danych ze źródła zewnętrznego (np. Strony internetowe są do tego przerażające) do arkusza roboczego, a liczby, daty i / lub godziny pojawiają się jako reprezentacje tekstowe, a nie prawdziwe liczby, daty i / lub godziny, zwykle najszybszą metodą jest wybierz kolumnę i wybierz Dane ► Tekst do kolumn ► Stała szerokość ► Zakończ. Zmusza to program Excel do ponownej oceny wartości tekstowych i powinien zamienić pseudo-liczby na ich prawdziwe wartości liczbowe.

Jeśli tak się stanie z formułami wklejonymi do komórek sformatowanych jako tekst lub niestandardowe, najpierw ustaw kolumnę na format ogólny , a następnie użyj Ctrl + H, aby znaleźć:: i Zamień na: = i ponownie Excel ponownie oceni zawartość każdej komórki, zastępując tekst wyglądający jak formuła z formułą operacyjną.

Jedną szczególną okolicznością, którą warto zwrócić uwagę w ogólnym znaczeniu, jest użycie nierozdzielającego znaku spacji (ASCII 160 lub 0 × A0) powszechnego na stronach internetowych, aby komórki tabel czasów danych nie zawijały się do drugiej linii. Jeśli masz coś, co wydaje się miejscem, którego po prostu nie możesz się pozbyć, użyj Ctrl + H, aby zastąpić niełamliwe spacje konwencjonalnymi spacjami (lub niczym). Nieprzerwaną spację można wygenerować na klawiaturze, przytrzymując jeden z Altklawiszy, dotykając 0 · 1 · 6 · 0 na klawiaturze numerycznej (przy Num Lock WŁ.), A następnie zwalniając Altklawisz.


Niesamowite!!! Kocham to! Sprawiło, że moje życie stało się o wiele łatwiejsze!
Jessica

7

Jeśli masz wartość tekstową 8:00, na przykład w komórce J42, a następnie wstaw

=TIMEVALUE(J42)

do komórki, K42a otrzymasz datę / czas Excela wynoszącą osiem godzin. Będzie on wyświetlany 0.33333333domyślnie (ponieważ 8 godzin to ⅓ dnia), ale można go sformatować tak, aby wyświetlał się jako wartość czasu. W zależności od potrzeb możesz skopiować kolumny Ki wkleić wartości nad kolumną J, aby pozbyć się wartości tekstowych i zachować tylko wartości daty / godziny.

TIMEVALUE()nie obsługuje wartości ujemnych. Jeśli istnieje możliwość, że Twoje dane będą zawierać czasy ujemne, na przykład -8:00(być może dlatego, że masz korekty arkusza czasu lub inne korekty wcześniej wprowadzonych danych), potrzebujesz formuły, która -jawnie obsługuje :

=IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42))

A co z czasem ujemnym, jak -0:30sformułowano[h]:00
Pierre

@Pierre: To interesujące pytanie / obserwacja. (1) Pytanie dotyczy arkuszy czasu pracy i listy płac, więc wydaje się mało prawdopodobne, aby Jessica miała jakiekolwiek wartości ujemne (chyba że jako korekty wcześniej wprowadzonych danych). Ale nie użyję tego jako tarczy; Zgadzam się, że byłoby miło mieć odpowiedź, która obsłuży każdy rozsądny wkład. (2) Dla przypomnienia, żadna z pozostałych odpowiedzi nie obsługuje wartości ujemnych. (3) W rzeczywistości, jeśli wpiszesz -0:30w komórkę, to nie zadziała (choć, nieco zaskakująco, -"0:30"działa). … (Ciąg dalszy)
G-Man mówi „Przywróć Monikę”

(Ciąg dalszy)… (4) Co więcej, twoje pytanie wydaje się być oparte na fałszywej przesłance: w programie Excel 2013, nawet jeśli wejdę -"0:30"lub =-1/48wejdę do komórki, nie mogę wyświetlić jej jako -0:30- niestandardowy format [h]:00nie działa dla mnie. (5) Jeżeli pytasz to pytanie poważnie, to odpowiedź jest formuła, która zajmuje się -wyraźnie: =IF(LEFT(J42,1)="-", -TIMEVALUE(RIGHT(J42,LEN(J42)-1)), TIMEVALUE(J42)). Nie przetestowałem tego wyczerpująco; śmiało i powiadom mnie, jeśli znajdziesz przypadek, w którym się nie powiedzie.
G-Man mówi „Przywróć Monikę”

2

Przez pewien czas 11:42:47.294możesz użyć tej formuły:

=TIME(MID(B13,SEARCH(":",B13,1)-2,2),MID(B13,SEARCH(":",B13,6)-2,2),MID(B13,SEARCH(":",B13,6)+1,6))

1

Możesz także łączyć funkcje Substitue i TimeValue, aby usunąć dodatkowe spacje i / lub inne znaki i pozostawić odpowiednio sformatowany czas.

DAWNY

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

pozbywa się spacji końcowej i „PST”, dzięki czemu funkcja TimeValue może działać na komórce A1 zawierającej „11:58 PST”


To może nie być tak naprawdę istotne dla tego pytania (tj. Dla Jessiki, która zadała to pytanie). Pytanie dotyczy arkuszy czasu pracy i listy płac. W moim ograniczone doświadczenie, arkusze czasu zawierać czas trwania , a nie w czasie momenty . Na przykład, jeśli dana osoba pracowała od 9:00 do 17:00 (w niektórych strefach czasowych), arkusz czasu pokazywałby tylko „8:00” (czas trwania ośmiu godzin między 9 a 5, co równa się różnicy 17: 00–9: 00). Ale przypuszczam, że ten dodatkowy krok może być pomocny dla kogoś, kto znajdzie to pytanie w wyniku wyszukiwania.
G-Man mówi „Przywróć Monikę”

0

Zamiast tego spróbuj wyróżnić całą kolumnę. Następnie kliknij Tekst na kolumny. Brzmi dziwnie, wiem. Następnie kliknij przycisk Zakończ. Magicznie konwertuje czas lub datę jako normalną godzinę lub datę ... w porównaniu z tekstem.


3
Sugeruję przeczytanie zaakceptowanej odpowiedzi przed odpowiedzią na pytanie. To jest to samo, co wspomniałeś. Nie widzę żadnej wartości dodanej z powodu twojej odpowiedzi
Prasanna

0

Jeśli nie ma formuły (wartość czasu nie jest poprzedzona znakiem równości), możesz również użyć pierwszego rozwiązania znajdź / zamień, ale znajdź: AM i zamień: AM, a następnie znajdź: PM i zamień: PM.

Zmusi to program Excel do ponownej oceny wartości tekstowych na wartości czasowe.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.