Meu intervalo de dados é L1:L26
e seus valores são uma mistura de números e seqüências de caracteres.
L5
, L8
, L11
, L14
, L20
, L23
E L26
contêm números. O resto contém seqüências de caracteres.
Estou tentando obter a soma dos 3 primeiros valores numéricos. Esses valores são 7, 45 e 11; portanto, o resultado, armazenado em M2
, deve ser 63.
Estou usando a seguinte fórmula:
{=Sum(Sum(Offset(L1, Small(If(ISNUMBER (L2:L26), Row(L2:L26)))))}
A fórmula produz um erro.
NB: É uma fórmula de matriz.
Respostas:
Esta nova fórmula definitivamente * funciona:
Lembre-se, desta vez é inserido como uma fórmula de matriz.
Olhando para a sua fórmula, além do segundo desnecessário,
SUM()
existem quatro erros principais:R
e(
dentroISNUMBER ()
;SMALL()
está faltando o segundo parâmetro necessário3
;OFFSET()
está faltando o terceiro parâmetro necessário0
;OFFSET()
está desativado em +1 (deve serSMALL()-1
).E há o erro crítico:
OFFSET()
não pode ser feito para retornar uma matriz inteira *. Ele só pode ser usado para preencher um intervalo quando inserido na matriz em várias células.* Pelo menos no Excel 2007
fonte
L14
,L20
,L23
eL26
definido como 0 (palma face) e desde a minha fórmula foi realmente soma todos os valores numéricos eu estava recebendo o resultado correto! Atualizando minha resposta com uma nova fórmula de trabalho.OFFSET()
e meSUM()
comporte de maneira diferente em 2007 e 2016. Por curiosidade, minha solução funciona no Excel 2016?