Supondo que seus exemplos sejam colocados em A1:E1
e A2:E2
, o seguinte fará o que você precisa em uma única fórmula, simplesmente modificando como o segundo intervalo é alimentado para SUMPRODUCT()
:
( quebra de linha para maior clareza e para evitar barras de rolagem)
=SUMPRODUCT(A1:E1,
N(OFFSET(A2:E2,0,COLUMNS(A2:E2)-COLUMN(A2:E2)+CELL("Col",A2:E2)-1))
)
Uma rápida olhada nos componentes:
OFFSET(A2:E2,0,COLUMNS(A2:E2)-COLUMN(A2:E2)+CELL("Col",A2:E2)-1)
Isso efetivamente itera (porque é usado como uma matriz por SUMPRODUCT()
) no intervalo A2:E2
. Ele faz isso na mesma linha (o 0
), mas usando o deslocamento horizontal calculado por COLUMNS(A2:E2)-COLUMN(A2:E2)+CELL("Col",A2:E2)-1
, que começará no número de colunas em A2:E2
less um (isto é, a entrada final) e reduzirá para zero (ou seja, a primeira entrada) e, assim, quando lida como uma matriz, ela será lida na ordem inversa.
Isso é agrupado em uma chamada N()
para garantir que as células vazias, o texto, etc. sejam lidos como zero e evita um erro #VALUE!
nesses casos. Se você quiser isso gerar erros, então não use o N()
.
Isso é simplesmente descartado no SUMPRODUCT()
como o segundo array a ser usado.