跳到主要内容

如何从Excel中的文本字符串中提取日期?

作者:晓阳 最后修改时间:2020-05-08

在Excel工作表中,如何从文本字符串中提取日期,如下图所示? 在本文中,我将讨论解决该问题的有用公式。

使用工作表中的数组公式从文本字符串中提取日期


使用工作表中的数组公式从文本字符串中提取日期

要仅从文本字符串列表中提取日期,以下数组公式可以为您提供帮助:

1。 在要获取结果的空白单元格中输入以下公式,然后按 输入 键,只有日期被提取,如以下屏幕截图所示:

=MID(A2,MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)),LOOKUP(1,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),ROW(INDIRECT("1:"&LEN(A2)))) + 1 - MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)))

2。 然后选择公式单元格,并将填充手柄向下拖动到要应用此公式的单元格,您将根据需要获得结果,请参见屏幕截图:

  • :
  • 在上式中 A2 是包含您要提取的日期的单元格;
  • 如果单元格包含其他数字,则此公式将无法正常工作;
  • 文本字符串中有多个日期时,该公式无法正确提取日期。

在Excel中将各种非标准日期转换为正常实际日期

随着 转换为日期 实用程序 Kutools for Excel,您可以在Excel中同时快速将各种非标准日期转换为正常实际日期。 点击下载Kutools for Excel!

Kutools for Excel:拥有 300 多个方便的 Excel 插件,30 天内免费试用,无限制。 立即下载并免费试用!

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

描述


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo Alle zusammen,

vlt. kann mir jemand helfen. Ich benötige 2 Forme für folgenden text.

RYE6WR / KL 2823 / Belgrade - Amsterdam 08 Nov 2022 07:05 - 08 Nov 2022 09:40 Free Luggage Allowance: 2PC

1. benötige ich eine Formel die mir das Datum filter und wenn möglich in diesem format - dd.mm.jjjj -> in diesem Bsp. 08.11.2022
2. benötige ich eine Formel die mir die erste Uhrzeit filter -> in diesem Bsp. 07:05

Lieben Dnak für all eure Hilfe :)
This comment was minimized by the moderator on the site
i want to extract date from invoice numbers looking like this (114/11-07-2017) i've tried the above formula but it doesn't work, suggest me a formula pls.
This comment was minimized by the moderator on the site
Hello, Vivek
May be the below formula can help you:
=TEXT(RIGHT(A2,10),"MM-DD-YYYY")
Pleaase have a try, if you have any other problem, please comment here.
This comment was minimized by the moderator on the site
Hi Usman,

=IFERROR(MID(A29,FIND("/",A29)-2,10),"")

please use this formula, it's very simple and easy to edit. you can edit this formula as per your query.
This comment was minimized by the moderator on the site
=MID(A26,FIND("/",A26)-2,10)

Hey Jorge,

your query is simple and you can get the answer with this formula and also you can get the answer with Flash Fill.
This comment was minimized by the moderator on the site
HI, how can I extract the date from this string
BRIGHT PINK - PK0040 9/1/2020 5:27:55AM 1
This comment was minimized by the moderator on the site
Hi, Admin.
i am unable to extract date from below text.
RETURNED_INCOMPLETE -> INCOMPLETE JSV appointment confirmed 15/10/2020, PM. Without WFM sub after 5pm
upon entering the given formula values are coming. 15/10/2020, PM. Without WFM sub after 5

"RETURNED_INCOMPLETE -> INCOMPLETE JSV-Appointment confirmed on -21/10/2020 PM mhumza wanted 06 to 07 PM coz working"upon entering the given formula values are coming. 21/10/2020 PM mhumza wanted 06 to 07

"RETURNED_INCOMPLETE -> INCOMPLETE JSV-Appointment confirmed on 18/10/2020 PM mhumza wanted at 16:30 to 18:00 pm"upon entering the given formula values are coming. 18/10/2020 PM mhumza wanted at 16:30 to 18:00

RETURNED_INCOMPLETE -> INCOMPLETE JSV appointment confirmed 15/10/2020, AM. Without WFM sub is available only until 9am
upon entering the given formula values are coming. 15/10/2020, AM. Without WFM sub is available only until 9


please support and help.
This comment was minimized by the moderator on the site
Hello!
How can I extract date from the text "Wed Jul 01 2020 04:20:05 GMT+0000 (Coordinated Universal Time)" in mm/dd/YYYY format using a formula?
Can someone please help me.
This comment was minimized by the moderator on the site
I'm aware that the formula wont work if there are other numbers in the cell, however, is there a way to only extract numbers that are in date format?
Example: People 5/ 2/12/20
Ignore the 5 and only output the 2/12/2020

Thank you
This comment was minimized by the moderator on the site
This was working perfectly up until 01/01/2020 - Anyone know how to fix this?
This comment was minimized by the moderator on the site
Hello, Adam,
The formula has been fixed as below:
=MID(A2,MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)),LOOKUP(1,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),ROW(INDIRECT("1:"&LEN(A2)))) + 1 - MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)))


Please try, hope it can help you!
This comment was minimized by the moderator on the site
skyyang - Sorry I've moved away onto something else. This works perfectly - Thank you so much!
This comment was minimized by the moderator on the site
I'm experiencing a problem with this formula not displaying the entire date value.
Similar to Adam Tabor, the formula was displaying the date value as expected up until 01/01/2020. Since then, the date value is missing the last digit

Example:
Cell A1 contains the string "Monthly-Returned-Ticket-Report-01-29-2020"

Cell A2 contains the following formula:
=MID(A1,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1,1),LEN(A1)+1)),LOOKUP(1,0/MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1)))) + 1 - MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1,1),LEN(A1)+1)))

Expected Result: Cell A2 displays the value "01-29-2020"

Actual Result: Cell A2 displays the value "01-29-202"

Hoping someone has an idea about what needs to be tweaked to deal with this new behavior since the new year?
This comment was minimized by the moderator on the site
Hello, Neil,
The formula in this article has been updated, please apply the below formula:
=MID(A2,MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)),LOOKUP(1,0*MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),ROW(INDIRECT("1:"&LEN(A2)))) + 1 - MIN(IFERROR(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&"0123456789",1)),LEN(A2)+1)))


Please try, hope it can help you!
This comment was minimized by the moderator on the site
This updated formula worked for my use case when I changed my source cell to A2. Thanks for the update Skkyang! :)
This comment was minimized by the moderator on the site
Hello, I tried it with a string and it doesn't work
This comment was minimized by the moderator on the site
skyyang - Sorry I've moved away onto something else. This works perfectly - Thank you so much!
This comment was minimized by the moderator on the site
Hi, Help me please! How about if my text is "Date and time of submission:23-Jun-2017 12:34:58 AM PDT. What kind of formula can i use ?
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations