1

我有一列(有数千行),我想将其分隔为多行。我有一些在 Excel 中使用正则表达式的经验,我也有一些在 excel 中使用分隔符的经验,但是这个有点太难了..

让我给你三个例子:

 - 23-12-05: For sale for 2000. 2010-09-09: Not found
 - 25-11-09: For sale for 3400. Last date found: 2010-07-08
 - 18-06-08: For sale for 5500. 21-07-09: Changed from 5500 to 4900. 16-09-09: Jumped from 4900 to 4700. 2010-02-04: Not found

大多数其他行都遵循这些结构。如何仅基于 [COLON] 之前的第一个符号创建新列;第二列基于第一个 [COLON] 和第一个 [DOT] 之间的符号。如果找不到文本 LAST DATE,我如何继续到最后一个?最后:如何使用正则表达式(或其他方式)使用文本“未找到”将最后一个日期粘贴到新列中?

相信我,我在这方面已经有一段时间了(叹气)。任何帮助深表感谢!

4

2 回答 2

3

您实际上可以为此使用公式。

假设文本在 A1 中,

B1: =LEFT(A1,FIND(":",A1)-1)
C1: =MID(A1,FIND(":",A1)+1,FIND(".",A1,FIND(":",A1))-FIND(":",A1))
D1: =MID(A1,FIND(".",A1,FIND(":",A1))+1,LEN(A1))
E1: =MID(A1,FIND("Not found",A1)-12,10)

(我假设 E1 的日期格式没有改变)

于 2012-10-23T14:06:42.240 回答
0

顺便说一句,这也适用于我,以获取单元格中的最后日期:

=LOOKUP(9999999999999999,FIND("**-**-**",A1,ROW($1:$1024)))

这里唯一的问题是:我一点也不知道我到底在做什么。例如,我想使用相同的代码来查找日期的第一次出现。

谁能向我解释这段代码?为什么我要搜索一个非常高的数字?这段代码中是什么让我找到了最后一次出现?“起始编号”是“行(1:1024)”是什么意思?

有人知道吗?

于 2012-10-25T15:04:28.940 回答