这里使用vlookup、query、arrayformula等求和数据,假设A21到B25为唯一master,I16到K19为分布数据,I16到J19为A21到B25唯一master,如果数据不同根据我的假设,实际更改它们:
=arrayformula(vlookup(arrayformula(len({A21:A25}) & ":" & len ({B21:B25}) & ":" & {A21:A25} & {B21:B25}),query({arrayformula(len({I16:I19}) & ":" & len ({J16:J19}) & ":" & {I16:I19} & {J16:J19}),arrayformula(if(isnumber(K16:K19),K16:K19,0))},"select Col1, sum(Col2) group by Col1"),2,false))
我将两列与每列的标识符长度和冒号结合起来,因为我希望我的列组合是唯一的,如果我结合 'aaa' 和 'aaaa' 将与 'aaaa' 和 'aaa' 相同,但它可以是必要时省略以缩短公式:
=arrayformula(vlookup(arrayformula({A21:A25} & {B21:B25}), query({arrayformula( & {I16:I19} & {J16:J19}), arrayformula(if(isnumber(K16:K19), K16:K19, 0))}, "select Col1, sum(Col2) group by Col1"),2,false))