2011-12-30 108 views
2

我负责创建仓库地图。如何选择不同工作表上的单元格以填充单元格旁边的单元格

在数据我必须有模型,描述和位置。

什么我有是,我使用从第二页的数据填充到“地图”

='1'!F2 当我试图拖动并用它来填补它变为='1'!g2整条生产线的麻烦。我想它去='1'!F3

我看到它在做什么的逻辑......但我不希望它使用该逻辑..我希望它使用它下面的下一个单元格填充该单元格。

回答

1

最简单的事情可能是复制,然后选择性粘贴>将数据转换为“1”到新工作表。然后,您可以拖动引用新工作表的公式,并按照预期行事。

编辑:根据您的原始问题,这将填充列的结果向右拖动,反之亦然。这实际上是做你的原始问题:

=INDEX(Sheet1!$F$2:$Z$8000,COLUMN(),ROW()) 

从A1开始并向任一方向拖动。要向左侧添加标题行或行,只需将行或列插入顶部或左侧(以保持公式发声)。

编辑:这是Transpose函数,per @ brettdj的建议。我觉得很难一起工作,但可以肯定使得它更清楚这是怎么回事:

在单元格F2:你的目标板的8000输入:

=TRANSPOSE(Sheet1!$F2:$Z8000) 

然后,选中所有这些细胞,进入在其中一个单元格中编辑模式并执行Ctrl Shft Enter来输入数组。如果您必须调整源范围的大小,我相信您必须使用正确的范围重复这些步骤。我自己是索引迷,所以会坚持下去。偏移是不稳定的,所以我会避免它。如果我有任何最后的编辑错误,@brettdj会帮助我们。

+0

感谢Doug,我会这样做,除了8000 +项目我需要填充“地图”。我开始这样做,然后认为那是一个更简单的方法。我正在使用间接参数......但这会导致需要更改一些值以使其正确。我知道必须有一个更简单的方法,我太想想它了。 – user1123546 2011-12-30 22:15:13

+0

我需要更好地描述您正在复制的工作表以及期望的最终结果。这听起来像是一个8000行的数据,你想读入8000列。因为您只是想拖动公式,所以我认为只需将数据转换为中间表就足够了,但听起来还有其他问题。 – 2011-12-30 23:12:59

+0

+1。你也可以使用'TRANSPOSE'公式directlty(数组输入)或'OFFSET'。 'TRANSPOSE'更加透明和可审计。 – brettdj 2011-12-31 00:52:52

0

由于您想要的是非本机行为,因此可能需要编写一个小的VBA宏来执行复制,并将其分配给键盘快捷键。

下面是一个简单的例子,将公式单元格复制到右侧,向下更新参考单元格(保留公式中的绝对/相对设置)。
它假定A1样式地址,仅当活动单元格包含引用单个单元格的公式(如果不是,则静默结束)时才起作用。将默默覆盖目标单元格中​​的任何内容。

Sub CopyToRight() 
    Dim clFrom As Range 
    Dim clAddr As Range 
    Dim addr As String 

    On Error GoTo EH 
    Set clFrom = ActiveCell 
    If clFrom.Formula Like "=*!*" Then 
     Set clAddr = Range(Mid(clFrom.Formula, 2)) 
     If clAddr.Count = 1 Then 
      If clFrom.Formula Like "=*!$*$*" Then 
       addr = clAddr.Offset(1, 0).Address(True, True) 
      ElseIf clFrom.Formula Like "=*!$**" Then 
       addr = clAddr.Offset(1, 0).Address(False, True) 
      ElseIf clFrom.Formula Like "=*!*$*" Then 
       addr = clAddr.Offset(1, 0).Address(True, False) 
      Else 
       addr = clAddr.Offset(1, 0).Address(False, False) 
      End If 
      clFrom.Offset(0, 1).Formula = "='" & clAddr.Worksheet.Name & "'!" & addr 
     End If 
    End If 
    clFrom.Offset(0, 1).Select 
EH: 
End Sub 
+0

谢谢克里斯,我会试试这个。 – user1123546 2011-12-30 23:08:41

相关问题