Si estoy usando la función incorporada sumif (Excel Microsoft Office Home & Student 2016 versión 1708), obtengo el siguiente comportamiento:
amount description
4 '<Sydney
4 '<Melbourne
=sumif(b1:b3,"'<Sydney",a1:a3)
Sumif devuelve 8.
Esto es incorrecto. El sumif debería devolver 4.
Tenga en cuenta el uso de ' para escapar de cadena al ingresar texto en la celda.
¿Alguna idea de lo que estoy haciendo mal aquí?
Vale la pena señalar que el problema parece estar relacionado con el uso del corchete angular (char(60)). Aprecio poder solucionar este problema usando la función sustituto(), pero me gustaría entender cuál es la causa de este problema y cómo decirle a Excel que trate char(60) como una cadena.
¿Algunas ideas?
Tenga en cuenta que no hay problemas con sumif si solo se utiliza el guión (char(45)). P.ej:
amount description
4 '-Sydney
4 '-Melbourne
=sumif(b1:b3,"'-Sydney",a1:a3)
Esto suma correctamente 4.
Respuesta1
El problema radica en
=sumif(b1:b3,"<Sydney",a1:a3)
(Supongo que el parámetro de condición es "<Sydney"
en lugar de "'<Sydney"
lo indicado en la pregunta, ya que devolverá 0).
El parámetro de condición tratará la <
comparación inicial como "menor que". Por lo tanto, la condición "<Sydney"
se interpretará como menor que la cadena Sydney
por su valor ASCII (¿o valor Unicode?). Por lo tanto, las cadenas con caracteres iniciales A
a R
y <
son todas "menores que" la cadena Sydney
.
Para solucionar el problema, puede cambiar la función como:
=sumif(b1:b3,"=<Sydney",a1:a3)
El =
parámetro en la condición le indicará a Excel que "suma solo la celdaes iguala <Sydney
, por lo tanto, devuelve el resultado correcto.
Para ilustrarlo mejor, pruebe estos datos de muestra:
[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 se esperaba, ya que -
no significa nada y, por lo tanto, Excel sumif
compara de forma predeterminada cada celda en B1: B3 con la cadena completa -Sydney
y suma solo si las dos cadenas son idénticas.