2014-01-05 34 views
0

好的,这里是我正在做的。将数据从1工作表复制到另一个工作表,其数据范围经常更新

我有一个数据范围更新,只要我打开电子表格工作正常。我遇到的问题是数据的格式不同于它的生成方式,我需要做的是将这些数据填充到另一个表格中进行计算和报告。由于这些数据并没有像Route Name这样的唯一指标,所以我无法使用任何if语句来查找逻辑。另外,我很遗憾尝试使用宏/ VB脚本来处理这些数据。

这是给你一个我正在使用什么样的数据集的想法。在路线名称下处理的项目数量将会改变。所以尽管明天的每日C会有两个参赛作品,但它可能有三个参赛作品等。一旦我能够处理这个信息到我的其他工作表中,我很好,因为我的宏和函数在那里工作正常,但我试图摆脱通过复制和粘贴手动输入这些数据。这些数据上传到隐藏的工作表中。

DATA EXAMPLE 

ROUTE date/time Duration % complete //column headers 
Daily C 12/29/2013 7:47:06 AM 0h:32m: 27s 93.4 
--- 12/28/2013 7:20:50 AM 0h:57m: 43s 94.6 //this record falls under Daily C 
Process E 12/28/2013 8:26:02 PM 18h:47m: 5s 75 
--- 12/23/2013 6:53:00 PM 0h:34m: 32s 100 //this record falls under Process E 
--- 12/23/2013 10:35:39 AM 0h:14m: 8s 100 //this record falls under Process E 
--- 12/23/2013 1:29:36 AM 1h:53m: 34s 100 //only 3 records but could have more 
Daily X 12/29/2013 3:14:30 PM 0h:16m: 40s 88.2 
--- 12/23/2013 10:37:34 AM 0h:30m: 31s 96.1 
Daily AB 12/29/2013 7:18:27 PM 1h:29m: 24s 95.8 
--- 12/29/2013 7:17:20 AM 1h:17m: 53s 97.7 
--- 12/28/2013 6:51:11 PM 1h:45m: 46s 90.5 
--- 12/28/2013 7:04:03 AM 8h:24m: 12s 100 
--- 12/27/2013 7:13:30 PM 3h:42m: 9s 95.5 
--- 12/27/2013 1:44:47 PM 0h:46m: 56s 97.7 
--- 12/27/2013 6:59:45 AM 1h:27m: 23s 99.6 
--- 12/26/2013 10:10:05 PM 0h:42m: 6s 97 
--- 12/26/2013 1:45:56 PM 1h:23m: 18s 83.3 
--- 12/26/2013 6:41:00 AM 3h:56m: 19s 99.2 
--- 12/23/2013 7:32:17 PM 2h:22m: 10s 96.2 
--- 12/23/2013 7:59:22 AM 1h: 6m: 57s 95.8 
Process D 12/28/2013 8:12:33 PM 19h: 1m: 32s 75 
--- 12/23/2013 10:36:28 AM 0h:11m: 31s 100 
Daily D 12/29/2013 1:58:56 PM 0h:22m: 18s 90.3 
--- 12/29/2013 7:43:42 AM 0h: 4m: 50s 100 
--- 12/28/2013 1:53:23 PM 0h: 5m: 36s 90.3 
--- 12/28/2013 7:33:14 AM 0h: 5m: 9s 100 

的好处是,当我把它上传适当分离,为列,外部数据,就像你用标题“路由”,“日期/时间”看,持续时间和“%完成”,然而由于数据包括每个部分中记录数量的更改我没有关于如何在没有设置密钥的情况下在Excel中处理这个问题的模糊想法。如果某种方式我可以改变所有这些 - 但它的路线标题甚至会很好,但我在这里寻找任何答案。谢谢。

回答

0

一个非常简单的答案会是另一列添加,然后输入以下公式:

  1. 在第一行中,它总是有一个途径,进入到细胞B2以下公式=A2读取第一个ROUTE作为起点
  2. 在新列的第二行和所有后续行中,使用此公式:=IF(A3="---",B2,A3)。在“---”处于ROUTE列的情况下,这将读取上面的值。您可以在单元格B3中输入公式,然后将其复制到其余行。

下面是该解决方案的屏幕截图。它假定你的第一个ROUTE是A2,新列是B

+1

我认为我的代码猴脑正试图处理信息,如它是一个简单的数据文件,而不是电子表格的一部分。我改变了你的例子工作有点不同= IF(A2 <>“---”,A2,B1)。它的工作原理就像我也需要它一样。很简单,但我的星期天早上的大脑无法理解它。谢谢!! – Grapeman

+0

我通常在同一个编码船上,但这些工作表函数非常强大而且简单!起初,我想到了通过价值观循环和从上面复制,但后来意识到这是矫枉过正。自动化这是一个更复杂,但幸运的是,这不是所要求的解决方案! –

0

不知道我理解,但是......

更换---什么也没有。在ColumnA转到特殊,空白,=,向上和Ctrl + Enter(也许)。

相关问题