公式自动填充操作
我试图创build一个大的电子表格(10,000行公式),从其他两张表中获取信息。 我想要的基本布局是:
Row1 =Sheet1!A7 =Sheet2!M7 =Sheet1!A8 =Sheet2!M8 =Sheet1!A9 =Sheet2!M9 ...etc.
当我尝试使用公式自动填充时,excelselect了错误的模式,最后我得到了这样的结果:
=Sheet1!A7 =Sheet2!M7 ... =Sheet1!A11 =Sheet2!M11 =Sheet1!A17 =Sheet2!M17
我给了excel 10个单元格,以此为基础,并且一直无法使其工作。 任何人都可以帮我弄清楚如何做到这一点(希望没有VBA)?
尽量避免使用易失性的OFFSET函数或INDIRECT / ADDRESS函数来支持INDEX函数和一些math运算。
在前两个单元格中使用这两个公式。
=INDEX(Sheet1!A:A, 7+ROW(1:1)/2) =INDEX(Sheet2!M:M, 7+ROW(1:1)/2)
select两个单元格并向下拖动填充手柄。
¹ 只要整个工作手册中的任何内容发生变化,挥发性函数就会重新计算,而不仅仅是当影响结果的内容发生变化时。 易失性函数的例子是间接 , 偏移 , 今天 , 现在 , 兰德和兰德维恩 。 CELL和INFO工作表函数的一些子函数也会使它们变得不稳定。
这是一个简单的VBAmacros,它build立了你的链接。 使用它,直到提出非VBA解决scheme:
Sub propagator() Dim i As Long, k As Long k = 1 For i = 7 To 99 Cells(k, 1).Formula = "=Sheet1!A" & i k = k + 1 Cells(k, 1).Formula = "=Sheet2!M" & i k = k + 1 Next i End Sub
只需select目标工作表并运行macros。
调整99以满足您的需求。
你可以解决这个没有VBA的一些=INDIRECT
欺骗 – 以下是位于“Sheet3”:
您可以分别在单元格A1
和A2
inputSheet1!A
和Sheet2!M
并填写。 然后,在B1
input7
,然后在B2
input公式 – 再次填写。 这第一个公式是有效地增加了两个计数。 最后,你可以在C1
input公式并填写。
使用INDIRECT
函数来build立这个模式,你可以根据你当前的行号使模式工作。 假设你的第一个单元格在第2行:
=INDIRECT("Sheet1!A" & 7+(ROUNDDOWN(ROW()/2,0)-1))
=INDIRECT("Sheet2!M" & 7+(ROUNDDOWN(ROW()/2,0)-1))
ROW()
返回当前行,然后除以2(因为你只增加每两个单元格的行参考),然后减1(因为我们希望第一次调整为0)。
尝试在第2行:
=INDIRECT("Sheet1!A" & 7 +QUOTIENT(ROW()-2,2))
而在第3行:
=INDIRECT("Sheet2!M" & 7 +QUOTIENT(ROW()-2,2))
突出显示两者并复制下来。