Problemas com char (60) ao fazer um sumif ()


1

Se eu estiver usando a função sumif builtin (Excel Microsoft Office Home & Student 2016 versão 1708), obtenho o seguinte comportamento:

amount    description
4         '<Sydney
4         '<Melbourne
=sumif(b1:b3,"'<Sydney",a1:a3)

Sumif retorna 8.

Isto está incorreto. O sumif deve retornar 4.

Observe o uso do 'para string escapar ao inserir texto na célula.

Alguma idéia do que estou fazendo de errado aqui?

Vale ressaltar que o problema parece estar relacionado ao uso do colchete angular (char (60)). Compreendo que eu poderia resolver esse problema usando a função substitute () - mas gostaria de entender qual é a causa desse problema e como dizer ao excel para tratar char (60) como uma string.

Alguma ideia?

Observe - não há problemas com o soma se apenas o hifen (caractere (45)) for usado. Por exemplo:

amount    description
4         '-Sydney
4         '-Melbourne
=sumif(b1:b3,"'-Sydney",a1:a3)

Isso equivale corretamente a 4.

Respostas:


1

O problema está em

=sumif(b1:b3,"<Sydney",a1:a3)

(Presumo que o parâmetro de condição seja, em "<Sydney"vez de "'<Sydney"declarado na pergunta, pois retornará 0.)

O parâmetro de condição tratará o líder <como comparação "menor que". A condição "<Sydney"será, portanto, interpretada como menor que a sequência Sydneypelo seu valor ASCII (ou valor Unicode?). Portanto, as cadeias com caracteres iniciais Apara Re <são todas "menores que" a cadeia Sydney.

Para corrigir o problema, você pode alterar a função como:

=sumif(b1:b3,"=<Sydney",a1:a3)

O =no parâmetro condição irá dizer Excel para "resumir apenas a célula é igual a <Sydney, portanto, retornar o resultado correto.

Para ilustrar melhor, tente estes dados de exemplo:

          [Col A]  [Col B]
[Row 1]     1          <
[Row 2]     2          A
[Row 3]     4          S
[Row 4]     8          Z

=SUMIF(B1:B4,"<S",A1:A4)    [3]
=SUMIF(B1:B4,"<=S",A1:A4)   [7]
=SUMIF(B1:B4,"=S",A1:A4)    [4]
=SUMIF(B1:B4,">S",A1:A4)    [8]

=sumif(b1:b3,"-Sydney",a1:a3)funciona como esperado, pois -não significa nada e, portanto, sumifpor padrão , o Excel compara cada célula em B1: B3 com a seqüência inteira -Sydneye soma apenas se as duas seqüências forem idênticas.


O senhor é um cavalheiro e um estudioso! Obrigado - isso funciona.
Sean
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.