Usando UPPER () para converter intervalo no Excel 2010

1

Eu gostaria de usar SUMIF em uma coluna se o valor em outra coluna for "Y" e gostaria de combinar isso com a função UPPER () para a coluna que contém os "Y" s. Aqui está o que eu tentei " =SUMIF(UPPER(E2:E18), "Y", C2:C18) , mas eu recebo um erro. Ele funciona se eu remover a função UPPER (). O que estou fazendo errado?

    
por user348514 27.06.2018 / 17:34

1 resposta

2

A função UPPER() por padrão só funciona em um único valor. Se você fornecer um intervalo / matriz para ele, a função usará a primeira célula no intervalo ou o primeiro valor da matriz. O resultado é sempre uma string.

A função SUMIF() espera um intervalo como seu primeiro argumento. Como o resultado da função UPPER() é uma string, o Excel lança um erro.

Agora, é claro, a comparação na função SUMIF() não faz distinção entre maiúsculas e minúsculas, portanto, essa fórmula

=SUMIF(E2:E18, "Y", C2:C18)

funciona corretamente para detectar y e Y .


Se por algum motivo você realmente quiser usar UPPER(), , esta é a fórmula equivalente a funcionar corretamente para o que você esperaria que =SUMIF(UPPER(E2:E18), "Y", C2:C18) fizesse:

=SUMPRODUCT((UPPER(E2:E18)="Y")*(C2:C18))

A razão pela qual UPPER() funciona nesse caso é que SUMPRODUCT() espera que seus argumentos sejam matrizes, portanto, o Excel retorna uma matriz de strings a partir dele.

    
por 27.06.2018 / 18:33