假设您有一个工作表,其中包含单元格A1:A3中的一系列公式。单元格A1包含公式= Sheet1!B4,单元格A2包含= Sheet1!B18,单元格A3包含= Sheet1!B32。您可能需要在此列下继续该模式,以使A4包含= Sheet1!B46,等​​等。

问题是,如果您仅复制单元格,则模式不会继续。而是根据目标单元格与源单元格的关系来调整公式。因此,如果将A1:A3粘贴到A4:A6中,则A4将包含= Sheet1!B7,这不是您想要的。 (无论您是通过拖动填充手柄专门复制粘贴还是填充单元格,都会发生这种情况。)

复制公式时无法继续执行模式。相反,您首先需要重新考虑如何将公式组合在一起。

例如,考虑以下公式:

=INDIRECT("Sheet1!B"&((ROW()-1)*14)+4)

该公式根据放置该公式的单元格的位置构造参考。如果将此公式放在单元格A1中,则ROW函数将返回1,即公式所在的行。

因此,公式变为:

=INDIRECT("Sheet1!B"&((1-1)*14)+4)

=INDIRECT("Sheet1!B"&(0*14)+4)

=INDIRECT("Sheet1!B"&0+4)

=INDIRECT("Sheet1!B"&4)

=INDIRECT("Sheet1!B4")

返回的是Sheet1!B4上的值,就像最初想要的那样。

但是,当您将该公式向下复制到列中时,ROW函数将在每一行中返回不同的内容。实际上,ROW函数成为一种将每个公式的偏移量从其前一个偏移量增加14行的方式-正是您想要的。

您也可以使用稍微不同的方法,这次使用OFFSET函数:

=OFFSET(Sheet1!$B$4,(ROW()-1)*14,0)

该公式根据放置公式的行(再次使用ROW函数)获取一个值,并从单元格Sheet1!B4中偏移。

该公式放在列的第一行中,然后向下复制到该列,该公式将根据所需的模式返回值。

另一种方法是直接创建所需的公式。您最好按照以下步骤进行操作:

。从工作簿中包含一个名为“ Sheet1”的工作表的新的空白工作表开始。

。在单元格A1中输入公式= Sheet1!B4。

。由于公式模式是每14行一次,因此突出显示范围A1:A14。仅第一个单元格应具有公式;其他13个为空白。

。向下拖动填充手柄(选择的右下角的小方块向下向下以获得足够的行数-大约1,000行。

仍应突出显示范围A1:A1000。 |。选择Edit | Go To | Special。Excel将显示Go To Special对话框(见图1)

。单击Blanks选项按钮,然后单击OK所有空白(空)

|||。选择||​​|||。选择“编辑” |“删除” |“向上移动单元格/

”,结果是您只得到了具有所需模式的公式。

|| _ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

此技巧(3067)适用于Microsoft Excel 97、2000、2002和2003。