在第一行使用Arrayformula过滤表格

问题描述 投票:0回答:1

我想对 A - O 列应用过滤器。例如,如果我现在对 I 列进行排序,则列中使用的公式也会进行排序。是否可以将公式放在列之外,这样它们就不会重新排列?屏幕截图 1 显示了在 E7:E - O7:O 列中输入值后的表格。屏幕截图 2 显示了排序后的表格。是否可以在 Apps 脚本中编写公式,这是否可以解决问题。此外,我不想在从单元格中删除内容后出现空行。当我删除内容时,例如来自单元格 A7 - H7。在 P7 -P 列中,我想放置按钮来删除相应的列。我需要一些帮助来编写脚本。

Cell I7
=ARRAYFORMULA(IF(ISBLANK($F7:F);IF(ISBLANK($G7:G);"";ROUND(($H7:H-$G7:G)*10000;2));ROUND(($F7:F-$H7:H)*10000;2)))

Cell J7
=ARRAYFORMULA(IF(ISBLANK($E7:E);"";ROUND(($E7:E)*$O$2/1000;2)))

Cell K7
=ARRAYFORMULA(IF(ISBLANK($F7:F);IF(ISBLANK($G7:G);"";ROUND(($N$2-$G7:G)*$E7:E/$G7:G*(-1);2));ROUND(($N$2-$F7:F)*$E7:E/$F7:F*(-1);2)))

Cell L7
=ARRAYFORMULA(IF(ISBLANK($E7:E);"";ROUND(($J7:J)+($K7:K);2)))

Cell M7
=ARRAYFORMULA(IF(ISBLANK($E7:E);"";SCAN($A$2;$L7:L;LAMBDA(a;r;a+r))))

Cell N7
=ARRAYFORMULA(IF(ISBLANK($E7:E);"";ROUND(($L7:L/$M7:M*100);2)))

Cell O7
=ARRAYFORMULA(IF(ISBLANK($G7:G);IF(ISBLANK($F7:F);"";ROUND($E7:E*$I7:I*0,0001/$F7:F;2));ROUND($E7:E*$I7:I*0,0001/$G7:G;2)))

enter image description here

enter image description here

google-sheets google-apps-script
1个回答
0
投票

标头中的 Arrayformula 解决了这个问题。

={"Cellname";ARRAYFORMULA(IF(ISBLANK($F7:F);IF(ISBLANK($G7:G);"";ROUND(($H7:H-$G7:G)*10000;2));ROUND(($F7:F-$H7:H)*10000;2)))}
© www.soinside.com 2019 - 2024. All rights reserved.