如何在Excel中将时间戳字符串转换为日期时间格式?

如何在Excel中将时间戳字符串转换为日期时间格式?,excel,string,datetime,timestamp,Excel,String,Datetime,Timestamp,我在CSV中有一个字符串,例如10/21/19 5:45:40 AM+00:00,我想创建一个透视表,以查看每小时开门的次数 仅当Excel将时间戳字符串理解为时间戳时,此选项才有效 我尝试了=DATEVALUE()和格式化,但Excel仍然无法理解字符串 我在英国,所以dd/mm/yyyy 什么是最好的方法让这个工作?谢谢 您需要删除字符串的+00:00部分: =--(LEFT(A2,LEN(A2)-6)) 然后根据需要格式化单元格,如:mm/dd/yyyy hh:mm:ss 如果您的本

我在CSV中有一个字符串,例如
10/21/19 5:45:40 AM+00:00
,我想创建一个透视表,以查看每小时开门的次数

仅当Excel将
时间戳
字符串理解为时间戳时,此选项才有效

我尝试了
=DATEVALUE()
和格式化,但Excel仍然无法理解字符串

我在英国,所以dd/mm/yyyy

什么是最好的方法让这个工作?谢谢


您需要删除字符串的
+00:00
部分:

=--(LEFT(A2,LEN(A2)-6))
然后根据需要格式化单元格,如:
mm/dd/yyyy hh:mm:ss


如果您的本地日期是
dd/mm/yyyy
请使用以下选项:

=DATE(20&TRIM(MID(A2,FIND("|",SUBSTITUTE(A2,"/","|",2))+1,2)),SUBSTITUTE(MID(A2,FIND("/",A2)+1,2),"/",""),LEFT(A2,FIND("/",A2)-1))+MID(LEFT(A2,FIND("+",A2)-2),FIND(" ",A2)+1,99)
和所需的格式


您需要删除字符串的
+00:00
部分:

=--(LEFT(A2,LEN(A2)-6))
然后根据需要格式化单元格,如:
mm/dd/yyyy hh:mm:ss


如果您的本地日期是
dd/mm/yyyy
请使用以下选项:

=DATE(20&TRIM(MID(A2,FIND("|",SUBSTITUTE(A2,"/","|",2))+1,2)),SUBSTITUTE(MID(A2,FIND("/",A2)+1,2),"/",""),LEFT(A2,FIND("/",A2)-1))+MID(LEFT(A2,FIND("+",A2)-2),FIND(" ",A2)+1,99)
和所需的格式


这可以使用
数据
选项卡下的文本到列功能来完成

我使用以下数据进行演示:

| Timestamp                   | Sensor    | Action |
|-----------------------------|-----------|--------|
| 10/21/19 5:45:40 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:37:12 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:38:15 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:39:23 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:40:27 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:41:28 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:42:30 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:43:32 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:44:35 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:45:36 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:48:38 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:47:41 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:48:41 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:49:42 AM +00:00  | Shop Door | Open   |
| 10/22/19 9:53:11 AM +00:00  | Shop Door | Open   |
| 10/22/19 10:07:30 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:16:32 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:22:27 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:23:27 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:24:29 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:25:58 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:27:03 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:28:09 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:29:15 AM +00:00 | Shop Door | Open   |
| 10/22/19 10:30:20 AM +00:00 | Shop Door | Open   |
步骤如下:

  • 突出显示时间戳列
    列A
  • 单击
    数据
    选项卡下的文本到列按钮
  • 选择固定宽度,单击下一步
  • 在时间和
    +00:00
    之间的某个位置单击鼠标左键以插入分栏符,然后单击“下一步”

  • 突出显示第一列,即日期,并在
    日期
    下将格式设置为
    MDY
    ,保留其他两列的默认格式,单击完成

  • 考虑到B列和C列中的数据与数据透视表的结构无关,覆盖它们是可以的
  • 突出显示新表(包括标题)并插入透视表,将
    时间戳
    传感器
    放在字段下,并将
    操作
    放在字段下,然后您应该有如下内容:
  • 以下是字段设置:


    如果你有任何问题,请告诉我。干杯:)

    这可以使用
    数据
    选项卡下的文本到列功能来完成

    我使用以下数据进行演示:

    | Timestamp                   | Sensor    | Action |
    |-----------------------------|-----------|--------|
    | 10/21/19 5:45:40 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:37:12 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:38:15 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:39:23 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:40:27 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:41:28 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:42:30 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:43:32 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:44:35 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:45:36 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:48:38 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:47:41 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:48:41 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:49:42 AM +00:00  | Shop Door | Open   |
    | 10/22/19 9:53:11 AM +00:00  | Shop Door | Open   |
    | 10/22/19 10:07:30 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:16:32 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:22:27 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:23:27 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:24:29 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:25:58 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:27:03 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:28:09 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:29:15 AM +00:00 | Shop Door | Open   |
    | 10/22/19 10:30:20 AM +00:00 | Shop Door | Open   |
    
    步骤如下:

  • 突出显示时间戳列
    列A
  • 单击
    数据
    选项卡下的文本到列按钮
  • 选择固定宽度,单击下一步
  • 在时间和
    +00:00
    之间的某个位置单击鼠标左键以插入分栏符,然后单击“下一步”

  • 突出显示第一列,即日期,并在
    日期
    下将格式设置为
    MDY
    ,保留其他两列的默认格式,单击完成

  • 考虑到B列和C列中的数据与数据透视表的结构无关,覆盖它们是可以的
  • 突出显示新表(包括标题)并插入透视表,将
    时间戳
    传感器
    放在字段下,并将
    操作
    放在字段下,然后您应该有如下内容:
  • 以下是字段设置:


    如果你有任何问题,请告诉我。干杯:)

    谢谢你的回答。我已经尝试过这种变化。但我怀疑是因为它是一种AM/PM格式,这行不通吗?而且,第一个小时有时是1位数,有时是2位数,这不允许我进行字符串操作计数字符。还是我遗漏了什么?你试过了吗?只有
    =左(A2,LEN(A2)-6)
    部分的输出是什么?上午/下午应该不重要。例如,我得到第2排的10/21/19 5:45。但我不知道是上午还是下午。因为再往下看,当它是下午1点时,它仍然显示1而不是13。然后将格式更改为
    mm/dd/yyyyy hh:mm:ss AM/PM
    我已经尝试过
    mm/dd/yyyy h:mm:ss AM/PM
    mm/dd/yyyyyy h:mm:ss AM/PM
    mm/dd/yyyy hh:mm:ss am/pm
    及其所有变体均未成功。一定有一些简单或琐碎的东西我一定错过了?谢谢你的回答。我已经尝试过这种变化。但我怀疑是因为它是一种AM/PM格式,这行不通吗?而且,第一个小时有时是1位数,有时是2位数,这不允许我进行字符串操作计数字符。还是我遗漏了什么?你试过了吗?只有
    =左(A2,LEN(A2)-6)
    部分的输出是什么?上午/下午应该不重要。例如,我得到第2排的10/21/19 5:45。但我不知道是上午还是下午。因为再往下看,当它是下午1点时,它仍然显示1而不是13。然后将格式更改为
    mm/dd/yyyyy hh:mm:ss AM/PM
    我已经尝试过
    mm/dd/yyyy h:mm:ss AM/PM
    mm/dd/yyyyyy h:mm:ss AM/PM
    mm/dd/yyyy hh:mm:ss am/pm
    及其所有变体均未成功。我一定缺少一些简单或琐碎的东西?如果您使用自定义导入导入CSV,则可以设置每列的类型。如果您使用自定义导入导入CSV,则可以设置每列的类型。