简体   繁体   English

Excel:如何跨基于多列的单元格复制公式

[英]Excel: How to copy formula across cells that is based on multiple columns

I have used a formula =SUM(A3:A16)*0.7 + SUM(B3:B16)*0.25 + SUM(C3:C16)*0.05我使用了一个公式 =SUM(A3:A16)*0.7 + SUM(B3:B16)*0.25 + SUM(C3:C16)*0.05

when I drag this formula across column I want the next column to be当我将这个公式拖过列时,我希望下一列是

=SUM(D3:D16)*0.7 + SUM(E3:E16)*0.25 + SUM(F3:F16)*0.05 =SUM(D3:D16)*0.7 + SUM(E3:E16)*0.25 + SUM(F3:F16)*0.05

Instead it is showing: =SUM(B3:B16)*0.7 + SUM(C3:C16)*0.25 + SUM(D3:D16)*0.05相反,它显示: =SUM(B3:B16)*0.7 + SUM(C3:C16)*0.25 + SUM(D3:D16)*0.05

How can I achieve this?我怎样才能做到这一点?

One option would be to combine the SUMPRODUCT and INDEX functions in an array formula:一种选择是将SUMPRODUCTINDEX函数组合在一个数组公式中:

=SUMPRODUCT(INDEX($A$1:$ZZ$16,N(IF(1,ROW($A$1:$A$16))),N(IF(1,COLUMN($A$1:$C$1)+3*(COLUMN()-1))))*{0.7;0.25;0.05})

Adjust range $A$1:$ZZ$16 as you need.根据需要调整范围$A$1:$ZZ$16

Array formula after editing is confirmed by pressing ctrl + shift + enterctrl + shift + enter确认编辑后的数组公式

在此处输入图像描述

Line 12 contains your formula.第 12 行包含您的公式。

As the ranges are contiguous, you could also do this:由于范围是连续的,您也可以这样做:

=SUMPRODUCT(INDEX($A$3:$I$16,1,(COLUMN()-COLUMN($A:$A))*3+1):
INDEX($A$3:$I$16,ROWS($A$3:$I$16),(COLUMN()-COLUMN($A:$A))*3+3)*{0.7,0.25,0.05})

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM