我在下面列出了 2 个表格来说明我的问题。
表一
表 2
我试图找到一个公式来填充第 15、16 和 17 行(表 1)中的第 140、143 和 146 行(表 2)。有 100 多个,因此一遍又一遍地输入 =B15
等非常耗时。
偏移方法,例如=OFFSET($B$15,(ROW()-1)*3,0)
仅在我引用空白时有效,而不是试图填补它们。
本质上,B140 的公式为 =B15
,B143 的公式为 =B140 + 1 row
,即 B16
感谢您的帮助!
答案 0 :(得分:1)
如果您正在尝试查找适当月份的值,您可以使用 INDEX
/MATCH
作为数组公式输入:
=IFERROR(INDEX($B$1:$B$4,MATCH(TRUE,MONTH(A10)=MONTH($A$1:$A$4),0)),"")
编辑后的数组公式按 ctrl
+ shift
+ enter
确认
编辑
要按月和年查找,请使用:
=IFERROR(INDEX($B$1:$B$4,MATCH(1,(MONTH(A10)=MONTH($A$1:$A$4))*(YEAR(A10)=YEAR($A$1:$A$4)),0)),"")
也是数组公式
答案 1 :(得分:0)
您可以为此使用模数。使用 Modulo 函数,您可以检查您所在行的其余部分是否可以被数字整除(例如,如果您想每三行复制一个值,则为 3)。 IF(MOD(ROW(E1);3 = 0)
如果是这种情况,您可以除以 3 并使用例如索引函数复制另一个位置(或另一个工作表)的 nth
值。如果不是这种情况,则打印 ""
以获得空行。
=IF(MOD(ROW(E1);3)=0;INDEX($B$1:$B$4;ROW(E1)/3);"")
如果您正在使用偏移量,因为行号不是可以被三整除的数字,您可以手动偏移行(并对产生索引行的除法执行相同的操作)。例如,如果您想要第 2、5、8 行等:
=IF(MOD(ROW(E1)+1;3)=0;INDEX($B$1:$B$4;ROW(E2)+1/3);"")