我正在尝试根据单一标准复制/插入一系列单元格。我尝试使用IF
以下函数
=IF(B6="RHH1",Sheet2!A4:J15,Sheet2!A18)
该FALSE
语句有效并且单个单元格被复制,但是该TRUE
语句失败并出现#Value
错误。
我猜测宏会起作用,但甚至不确定从哪里开始。
答案1
如果您有兴趣在不使用宏的情况下实现此目的,则需要将范围值输入为数组公式。为了输入数组公式,
- 选择目标范围与源范围大小相同
- 输入公式
- 按 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
分两步解决:
在所需输出范围左上角的单元格中输入以下内容:
=IF($B$6="RHH1",Sheet2!A4,"")
向下填充另外 11 行,然后填充另外 9 列。
返回左上角的单元格(第一个输入公式的单元格)并将其公式更改为以下内容:
=IF($B$6="RHH1",Sheet2!A4,Sheet2!A18)
这应该可以解决问题。