Excel可以将另一张工作表的间接列用于行下拉

时间:2019-04-24 17:47:35

标签: excel excel-formula

我正在尝试下拉一个公式

=IF(SUM(SecurityLevels!E$257:E$261)>0,"3",IF(AND(SUM(SecurityLevels!E$232:E$256)>0,SUM(SecurityLevels!E$2:E$231)>0),"2",IF(SUM(SecurityLevels!E$2:E$231)>0,"1","0")))

当前,它不会将列号下拉到F,G,H等。我正在执行的当前工作表是ReportOwnerQuery。我要从中拖放的工作表是SecurityLevels。手动更改列字母是可行的,但是效率很低,因为我必须对JF这样做。 “安全级别”表的第1行中的名称列表从C列开始,然后转到JF。我可以做一个间接的方法来解决这个问题,所以我可以将其向下拖动以更改列字母?比执行查找和替换每一行要快得多。

我尝试过:

查找并替换每一行,它可以工作,但是效率极低。 尝试了一个Indirect(),但是我无法使其正常运行。我在SecurityLevels工作表中进行了部分复杂的计算。这是一个单元格示例:“ = COUNTIF(INDIRECT(”'ReportOwnerQuery'!AD“&COLUMN()-1),” “ && $ A260&” “)”

=IF(SUM(SecurityLevels!E$257:E$261)>0,"3",IF(AND(SUM(SecurityLevels!E$232:E$256)>0,SUM(SecurityLevels!E$2:E$231)>0),"2",IF(SUM(SecurityLevels!E$2:E$231)>0,"1","0")))

在每行从E到F到G等变化的列中,能够将其向下拖动到列中``''= IF(SUM(SecurityLevels!E $ 257:E $ 261)> 0,“ 3”,IF( AND(SUM(SecurityLevels!E $ 232:E $ 256)> 0,SUM(SecurityLevels!E $ 2:E $ 231)> 0),“ 2”,IF(SUM(SecurityLevels!E $ 2:E $ 231)> 0,“ 1 “,” 0“)))


1 个答案:

答案 0 :(得分:1)

我相信您可以使用INDEX来实现。也就是说,将其合并到您的公式中将得出:

=IF(SUM(INDEX(SecurityLevels!E$257:JF$261,0,ROW()))>0,"3",IF(AND(SUM(INDEX(SecurityLevels!E$232:JF$256,0,ROW()))>0,SUM(INDEX(SecurityLevels!E$2:JF$231,0,ROW()))>0),"2",IF(SUM(INDEX(SecurityLevels!E$2:JF$231,0,ROW()))>0,"1","0")))

只需测试一下即可将公式向下拖动:

enter image description here

enter image description here