我需要以下方面的帮助:
同样,每周都会更改列。本周我有18个专栏,下周我可以有20个专栏。
在第1行标题中,我有两个标题“CTAEO1P”和“CTAEO2P”。
在另一张工作表上,我想添加这两列的“总计”,即CTAEO1P的个别总数= 32.98 + CTAEO2P = 46.25 = 79.23
我正在使用命名范围并将整个工作表命名为“MT”。范围是整个工作表,所以当下周我从另一个工作表复制数据时,我不必调整范围。
我使用下面的公式,由本论坛的另一位专家提供:
= HLOOKUP( “CT *”,MT,MATCH(9 ^ 99,INDEX(MT,0,MATCH( “CT *”,INDEX(MT,1,0),0))),0)
此公式查找以“CT”开头的任何列,然后“匹配(9 ^ 99”和“索引”查找该列中的最后一个数字(在本例中为总数),然后返回该值在这种情况下,这个公式只返回“32.98”,因为这是第一次出现。
我想我可以在这里使用“Sumproduct”公式但是a)我必须创建多个命名范围,一个用于标题行,另一个用于“Total”行,b)每周我必须调整“总计”行的范围。除非,如果我可以在“SUMPRODUCT”功能中嵌套“匹配(9 ^ 99 ...”部分。
我想单独使用“MT”范围,并希望添加以“CT”开头的所有列的总数。
我希望我已经能够更好地解释我的问题,但是,如果您需要任何进一步的信息,请告诉我。
此致
塔里克
答案 0 :(得分:0)
我会忘记MT范围,只要您的数据在A1中开始就可以使用
=SUMPRODUCT(ISNUMBER(SEARCH("CT*";OFFSET(A1;0;0;1;MATCH(9^99;2:2))))*OFFSET(A1;MATCH(9^99;A:A)-1;0;1;MATCH(9^99;2:2)))
根据您的区域设置,您可能需要替换字段分隔符“;”通过“,”
答案 1 :(得分:0)
我认为你可以使用像这样的<{p}}相对简单的SUMPRODUCT
解决方案
=SUMPRODUCT((LEFT(INDEX(MT,1,0),2)="CT")*ISNUMBER(MT),MT)/2
SUMPRODUCT将在相关列中包含总计所有值,包括总数,因此将div除以2将确保您获得正确的计数
如果您不喜欢这种方法,那么假设MT的第一列始终有数据,并且每列的总数都在同一行,您可以使用SUMIF
这样的
=SUMIF(INDEX(MT,1,0),"CT*",INDEX(MT,MATCH(9^99,INDEX(MT,0,1)),0))
这应该比第一个版本
更有效