在 Excel 中需要根据单个条件复制单元格区域

在 Excel 中需要根据单个条件复制单元格区域

我正在尝试根据单一标准复制/插入一系列单元格。我尝试使用IF以下函数

=IF(B6="RHH1",Sheet2!A4:J15,Sheet2!A18)

FALSE语句有效并且单个单元格被复制,但是该TRUE语句失败并出现#Value错误。

我猜测宏会起作用,但甚至不确定从哪里开始。

答案1

如果您有兴趣在不使用宏的情况下实现此目的,则需要将范围值输入为数组公式。为了输入数组公式,

  1. 选择目标范围与源范围大小相同
  2. 输入公式
  3. 按 Control + Shift + Enter

请参阅 Microsoft 文档在 Excel 中引入数组公式

答案2

这里的问题是,该函数(以及任何函数)只是试图将单个单元格(这就是它以 = 开头的原因)设置为一个值。它无法控制其周围的任何单元格。

宏可以起作用,这是学习宏的一个很好的起点。http://office.microsoft.com/en-ca/excel-help/save-time-by-creating-and-running-macros-in-excel-2010-RZ102337714.aspx

答案3

分两步解决:

  1. 在所需输出范围左上角的单元格中输入以下内容:

    =IF($B$6="RHH1",Sheet2!A4,"")

    向下填充另外 11 行,然后填充另外 9 列。

  2. 返回左上角的单元格(第一个输入公式的单元格)并将其公式更改为以下内容:

    =IF($B$6="RHH1",Sheet2!A4,Sheet2!A18)

这应该可以解决问题。

相关内容