0

我有一个从 6000 页 PDF 文件转换而来的非常大的 Excel 表,大约有 50 万行,所以任何手动操作几乎都是不可能的。

我正在努力将其转换为可用数据,但是我对已提取的某些行有疑问。

这些行应该像这样提取:

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当前单元格下方的第一个值,然后是 firstTelno和 first Duration。在第二行,找到Time当前单元格下方的第二个值,然后是第二个Telno和第二个Duration

4

2 回答 2

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 列为空白的任何行。

于 2012-06-13T22:31:15.103 回答
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% 行的数据,最后几行可以手动完成。

于 2012-06-18T11:08:14.460 回答