首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一个细胞中提取2次并放入两个不同的列中?

从一个细胞中提取2次并放入两个不同的列中?
EN

Stack Overflow用户
提问于 2017-06-28 15:17:53
回答 1查看 67关注 0票数 0

我有一个这样的电子表格:

B栏:

代码语言:javascript
复制
The Auditor arrived at 9am and left at 2pm
The Auditor arrived 09:00, left 16:00

我想提取审计员到达的开始时间,并将其放入C栏,如下所示:

C栏

代码语言:javascript
复制
9
9

然后提取结束时间,并将其放入D列。

D栏

代码语言:javascript
复制
2
4

然后在E栏中,我想数一数审计师在现场的小时数:

E栏

代码语言:javascript
复制
5
7

目前,我正在使用这个公式来识别我的单元格中第一个数字的位置:

这是我用来尝试检索数字的C列中的公式:

代码语言:javascript
复制
=MID(B18,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B18&"0123456789")),1)

我的问题是,只有当开始时间是一位数,而不是两位数或更多位数时,才能工作,所以上午9点不是09:00。

有人能告诉我做这件事的最佳方法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-28 16:03:23

你能试试这个可怕的配方吗?放在C18手机上..。

=24*IF(OR(IFERROR(FIND("am";MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5);1);0)>0;IFERROR(FIND("pm";MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5);1);0)>0)=TRUE;TIMEVALUE(MID(MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5);1;MIN(FIND({"am";"pm"};MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5)&"ampm";1)-1))&" "&MID(MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5);MIN(FIND({"am";"pm"};MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5)&"ampm";1));2));TIMEVALUE(MID(B18;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B18&"0123456789"));5)))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44806574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档