如何使Excel每3行遵循一个公式算法

nx7onnlm  于 2023-02-05  发布在  其他
关注(0)|答案(3)|浏览(336)

我想让Excel在每3行上遵循一个公式模式,这样在条件if语句中增加3后,返回值"TRUE"应该增加1。这样每次我向下拖动它时,该算法都会应用于它所遵循的后续3行。我有以下简单公式:
一个月一个月一个月一个月一个月一个月一个月一个月一个月二个月一个月一个月三个月一个月一个月一个月四个月一个月一个月五个月一个月
根据我想要的公式,它应该跟在后面:
=IF(B17="RTR",RTR!G13:Z13,IF(B17="DHG2",'DHG2'!G13:Z13,IF(B17="JQV",JQV!G13:Z13,"")))
我试着向下拖动公式以将其应用到下面的行,但模式不符合我的要求。相反,下面的行变成如下所示:
=IF(B17="RTR",RTR!G17:Z17,IF(B17="DHG2",'DHG2'!G17:Z17,IF(B17="JQV",JQV!G17:Z17,"")))
我需要一点帮助。
谢谢你。

h7wcgrx3

h7wcgrx31#

下面是一个不需要辅助细胞的解决方案:
此公式将每3行递增1:

=CEILING.MATH(ROW()/3)

如果希望序列从不同的行开始,比如说第10行,只需从ROW()中减去该数字-1,因此从1开始从第10行开始,需要减去9:

=CEILING.MATH((ROW()-9)/3)

如果你想让序列从另一行的另一个数字开始,你只需要把数字-1加到整个序列中,这个例子将从第10行的11开始:

=CEILING.MATH((ROW()-9)/3)+10

**编辑:**P.b提出了更好的解决方案,你根本不需要国际单项体育联合会:

=INDIRECT(B11 & "!G" & (CEILING.MATH(ROW()/3)+10) & ":Z" & (CEILING.MATH(ROW()/3)+10))
qyzbxkaa

qyzbxkaa2#

下面是一个你可以扩展的例子:

VLOOKUP(A1,INDIRECT("'RTR'!"&"G11:Z11",1),1,0)

当B11转到B12,甚至最后两个B16转到B17,并且目标范围与行号匹配时,不确定您在何处增加3。
正如我所展示的,你可以建立目标范围,所以添加行号现在是微不足道的。他们可以从单元格,C1可以是3,C2可以是6等。

xt0899hw

xt0899hw3#

可以使用以下代码 (避免使用(volatile)INDIRECT)

=INDEX(
       CHOOSE( MATCH(B11, {"RTR","DHG2","JQV"}, 0),
               'RTR'!G:Z, 'DHG2'!G:Z, 'JQV'!G:Z),
       INT((ROW()-11)/3)+11,
       )

它通过将B11中的值与一个包含选项卡名称的数组进行匹配来选择正确的选项卡,然后从该选项卡开始索引范围G:Z
由于INT((ROW()-11)/3)+11,行号每3行移动1个数字。

相关问题