Форматирование поля из этого = "09262001" в мм / дд / гггг - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть гигантский .xls с DOB, люди, отправляющие файл, отправляют DOB с этими специальными символами = "09262001", но мне нужно поставить их так: мм / дд / гггг, чтобы я мог загрузить их на база данных.

Что я пробовал: 1- специальное форматирование поля в мм / дд / гггг, но это не работает 2 - я пытался сделать специальный формат, потому что начальные нули сбрасываются при удалении специальных символов, поэтому Я сделал поле 00000000, а затем попытался отформатировать в мм / дд / гггг, но оно не работает.

Ответы [ 2 ]

2 голосов
/ 22 апреля 2020

использование:

=--TEXT(A1,"00\/00\/0000")

Затем отформатируйте по желанию

enter image description here

2 голосов
/ 22 апреля 2020

С данными в A1 , в B1 введите:

=DATE(RIGHT(A1,4),LEFT(A1,2),MID(A1,3,2))

enter image description here

Затем отформатируйте B1 как "мм / дд / гггг". Для изменения данных «на месте» потребуется простой макрос. Выберите ячейки, которые вы будете обрабатывать и запускать sh:

Option Explicit
Sub DateFixer()
    Dim rng As Range, cell As Range, s As String
    Set rng = Intersect(ActiveSheet.UsedRange, Selection)

    For Each cell In rng
        If cell.Value <> "" Then
            s = Right("0" & cell.Text, 8)
            cell.Clear
            cell.NumberFormat = "mm/dd/yyyy"
            cell.Value = DateSerial(Right(s, 4), Left(s, 2), Mid(s, 3, 2))
        End If
    Next cell
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...