我有一个非常大的Excel表格,从6000页的PDF文件转换而来,有大约五十万行,所以任何手册都是不可能的。
我正在努力将其转换为可用数据但是我对一些已提取的行有问题。
行应该像这样提取:
Date Text (Date Time TelNo Duration)
-----------------------------------------
01/05/2012 29.04.2012 18:31 07[removed]8 00:00:06
01/05/2012 29.04.2012 18:32 07[removed]8 00:07:22
01/05/2012 29.04.2012 19:54 07[removed]8 00:00:28
不确定如何但是大约有10,000条线路像这样结束了:
Date Text
-----------------------------------------
01/05/2012 29.04.2012
01/05/2012 29.04.2012
01/05/2012 29.04.2012
01/05/2012 18:31
01/05/2012 18:32
01/05/2012 19:54
01/05/2012 07[removed]8
01/05/2012 07[removed]8
01/05/2012 07[removed]8
01/05/2012 00:00:06
01/05/2012 00:07:22
01/05/2012 00:00:28
我正在尝试将行重新组合成单行(然后再次拆分)。
我尝试了以下内容,但它仅适用于3行的组:
A B C
------------------------------------------------------------------
1 01/05/2012 29.04.2012 =B1 & B4 & B7 & B10
2 01/05/2012 29.04.2012
3 01/05/2012 29.04.2012
4 01/05/2012 18:31
5 01/05/2012 18:32
6 01/05/2012 19:54
7 01/05/2012 07[removed]8
8 01/05/2012 07[removed]8
9 01/05/2012 07[removed]8
10 01/05/2012 00:00:06
11 01/05/2012 00:07:22
12 01/05/2012 00:00:28
我也尝试了各种组合:
=B1&INDEX(B1:B10,MATCH("??:??",B1:B10,0))&INDEX....
任何人都可以制定出能够合并这些值的公式,并且可以在整个工作表中进行拖动/复制吗?
修改
公式需要:
在第一行,找到当前单元格下方的第一个Time
值,然后是第一个Telno
和第一个Duration
。
在第二行,找到当前单元格下方的第二个Time
值,然后是第二个Telno
和第二个Duration
。
答案 0 :(得分:0)
在加入数据之前抛出“IF”:
=IF(MID(B1,3,1)=".",B1 & " " & B4 & " " & B7 & " " & B10,"")
您也可以将其分解为列:
名为时间的C栏
=IF(MID(B1,3,1)=".",B4,"")
D列名为TelNo
=IF(MID(B1,3,1)=".",B7,"")
E栏名为Duration
=IF(MID(B1,3,1)=".",B10,"")
在任何一种情况下,都要过滤C列为空白的任何行。
答案 1 :(得分:0)
我只用公式解决了这个问题:
第1步。
添加了Mistype
列并填充了if公式(日期/时间/数字等)。
第2步。
添加了另一个新列NumMissed
,其中包含以下公式:
=IF(D2="date",IF(AND(D2="date",D1<>"date"),MATCH("Time",D2:D20,0)-1,IF(D2="date",E1,"")),"")
显示可用于选择正确单元格的错过行数。
第3步。 添加了另一列来保存检索到的行(可以通过我的其他公式拆分),其中包含以下公式:
=IF(D2="date",B2&INDEX(B2:B80,E2)&INDEX(B2:B80,E2*2)&INDEX(B2:B80,E2*3)&IF(ISNUMBER(INDEX(B2:B80,E2*4)),INDEX(B2:B80,E2*4),""),"")
这为99.9%的行提供了数据,最后几个可以手动完成。