Saltar al contenido

Función contar si conjunto en una tabla dinámica


Diego1991

Recommended Posts

Buenos días, en el archivo que estoy trabajando debo hallar la cantidad de puntos de venta coberturados por cada vendedor, para eso uso la función contar si conjunto donde cuento cada código de cliente por cada vendedor, esto lo hago a un lado de la tabla dinámica porque no sé si es posible hacerlo dentro de la misma. No pudo subir el archivo que estoy trabajando porque sólo se me permite un maximo de 2mb, pero adjunto una foto de como se ve mi archivo, gracias por la ayuda.

Caso.jpg

Enlace a comentario
Compartir con otras webs

Hola,

Dentro de la misma tabla no se puede hacer, podria usar otra tabla, usando la opcion de recuento distinto.

Al momento de hacer la tabla ve una opcion que dice "AGREGAR AL MODELO DE DATOS"

imagen.png.7baac34d8a8a30546bd1c3b657760d3d.png

Esto permite el conteo de codigos unicos por vendedor,

Adjunto ejemplo.

Datos.xlsx

Enlace a comentario
Compartir con otras webs

Hola @GabrielRaigosa estaba revisando el archivo que me mandaste y comparándolo con el que estoy trabajando, en el mío hay vendedores que no vendieron a ciertos clientes por lo que el total de venta figura como 0 y me lo cuenta como un punto coberturado cuando no debería ser así, no sé si en el método que me mencionaste es posible poner como criterio que cuente sólo los números mayores a 0, yo lo hacía en una formula aparte poniendo ">0".

Enlace a comentario
Compartir con otras webs

Caso.xlsxMuchas gracias por tu tiempo @GabrielRaigosa. Reduje la data que tenía en mi archivo original ya que tengo más sucursales, dejé sólo 1 para que pese menos y puse los datos, el método ineficiente que utilizo yo para hallar la cobertura y el método que me dijiste que debía utilizar pero que no he podido lograr que funcione correctamente. Espero que viendo el archivo con el que estoy trabajando puedas ayudarme. De antemano muchas gracias por tu ayuda.

Enlace a comentario
Compartir con otras webs

¿Cuando se refiere a las ventas cero son estas?

imagen.thumb.png.50e44dd4beca5f98d2cd675633b43ad9.png

¿Las que dicen soles sin IGV?

Si ese es el caso la tabla dinámica no va servir por para un cliente "x" puede que en un periodo tenga una venta ">0" y una venta "=0", por que lo que se está es contando el codigo independiente del valor de esa columna.

Bueno no se si entendí bien.

Suponiendo que quiero ese conteo de codigos únicos para ventas mayores que cero pero dependiendo del valor IGV de la base de datos se me ocurre agregar un campo adicional en la base de datos para determinar cuales registros se van a contar, es un filtro que usaré en la tabla dinámica.

Adjunto archivo, le cambie el formato a "xlsb" solo para reducir el tamaño, revise el adjunto.

Caso.xlsb

Enlace a comentario
Compartir con otras webs

Acabo de revisar el adjunto, disculpa por no aclarar que "soles sin IGV" eran los valores de venta, y sí, los valores 0 que están en esa columna son los clientes que no compraron y por lo tanto no deben ser contados. Haciendo la comparación entre mi método y el suyo hay una diferencia en la cobertura total al parecer el campo adicional no funciona para lograr contar sólo a los clientes que compraron. ¿Será que es imposible hacerlo en una tabla dinámica y siempre he de hacerlo de la manera en que lo he venido haciendo hasta ahora?

Enlace a comentario
Compartir con otras webs

Hola, gracias por responder. Los negativos son ventas que en algún momento se realizaron pero han sido devueltas por diferentes motivos por lo que tampoco entrarían al conteo, en la hoja donde está el método que realizo puede ver que considero toda la columna "soles sin igv" incluído los negativos y el 0 porque coloco el criterio ">0", por lo cual ya no estarían siendo contados.

Enlace a comentario
Compartir con otras webs

Hola,

El valor dentro en la tabla dinámica es el resultado de suma del campo que tiene las ventas, resultado de los valores + y valores -.

Su conteo externo se hace sobre los valores de la tabla dinámica, no se hace sobre la base de datos, es decir que el negativo resta dentro de la tabla diámica.

La última propuesta solo hace el conteo sobre las ventas positivas "+" de la base de datos, estrictamente mayores que "0", no usa los menores que cero.

Entonces en su conteo las "devoluciones" se cuenta como "cobertura", en el archivo propuesto no se consideraria como una cobertura los registros que corresponden a una devolución.

Así es que el conteo de códigos unicos propuesto no dará ese resultado esperado.

Se podría pensar en una solución usando Power Query.

 

Caso.xlsb

Enlace a comentario
Compartir con otras webs

Si una venta en febrero "+", tiene una devolución "-" en ese periodo de una venta de un mes anterior y la devolución produce como resultado dentro de la tabla dinámica un valor negativo, el conteo que usted hace consideraria que en febrero no hay cobertura, por que ventas (+) sumado a "devoluciones" (-), daria un valor menor que cero.

¿Ese resultado seria lo que usted espera?

Enlace a comentario
Compartir con otras webs

Revisé el archivo que me enviaste, tomando como ejemplo el primer vendedor Alcarraz Mendoza en el mes de febrero, el recuento que se hace en la columna D desde D7 hasta D90 (donde sí aparecen los valores 0), es 35 al igual que en la columna J desde J7 hasta J90 (el que tú hiciste). Pero en el conteo que hago utilizando la formula contar si conjunto aparece el resultado de 33 mientras que en el otro que hiciste sigue apareciendo 35, por lo que parecería que estaría contando los valores 0 a pesar de que no aparecen en esa tabla, no entiendo bien porque es que sigue suce diendo eso.

Caso (1).xlsb

Enlace a comentario
Compartir con otras webs

Ahora viendo como es la situación hago una TD pero tomando como origen una Tabla hecha con PowerQuery, una consulta sobre los datos de origen y esá será la fuente de datos para la dinámica

Es decir, se agrupan los datos de la base de datos con las siguentes campos:

  • Vendedor
  • Codigo Cliente
  • Año
  • Mes
  • Campo para el calculo la suma de las ventas

La tabla donde se muestra el "consolidado", no es obligatoria verla en una hoja, pues desde la consulta se puede generar la Tabla dinámica.

Entonces desde su tabla origen elabora la consulta y desde la consulta la dinámica.

 imagen.thumb.png.e3403195d453a2d55d945bbc9786b5bc.png

 

Caso Con PowerQuery.xlsb

Enlace a comentario
Compartir con otras webs

Hola Diego

Hace 14 horas, Diego1991 dijo:

Gracias @Gerson Pineda, le agradecería que pueda explicarme un poco que es una fórmula Dax, usándola pudo llegar al resultado pero no tengo idea de en que momento o cómo la ha utilizado, le agradecería si pudiera explicarme como es que lo hizo por favor.

La TD es uno de los inventos mas potentes en Excel, pero ademas de eso, Microsoft agrego una herramienta para llevarlo a lo mas alto en el análisis de cálculos y procesamiento de grandes cantidades de datos, ese complemento se llama Power Pivot, desde aquí pude realizar la formula, Dax es un lenguaje muy potente, con esto quedaron atrás los elementos y campos calculados de la TD

Para ver la formula, te vas a la pestaña de Power Pivot

  1. Medidas / Administrar medidas
  2. Administrar y en la parte inferior de la tabla, están las medidas
  3. O en el panel o lista de campos de la TD, en la parte inferior de los nombres de campos, ademas desde ahí puedes dar clic derecho y das modificar medida

Es un mundo aparte y bastante extenso para realizar cálculos avanzados en las TD, se necesita como todo, leer para aprender

 

Saludos 

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Mejor que subas un archivo que contenga esas fórmulas, indicando qué resultados esperas conseguir. Así ayudas a quien quiera ayudarte; no le obligas a que reproduzca ese modelo, y de paso podrá ver cuál es el objetivo buscado con esa/s fórmula/s. Saludos,
    • Buenas noches quisiera hacer esta formula auto incremental    =SI(INDIRECTO("'Casos de Prueba'!I1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")); 0)      para que cada vez que copiase y pegase la celda con la formula  se incrementara la letra en este caso la I pasara a J ,como el numero perteneciente a Resultados Ciclo pasando en este caso del 1 al 2.   Tengo también esta formula =CONCATENAR("CP";TEXTO(MAX((SI((ESNUMERO(HALLAR("CP";A$1:A1)))*(A$1:A1<>"");VALOR(EXTRAE(A$1:A1;3;3));0))+1);"000")&" - "&B2) quisiera que no tuviera los 3 ceros si no que fuera por ejemplo CP1 y se fuera incrementando. Gracias un saludo.
    • Con el diseño así como lo tiene en su libro, una fórmula de BUSCARV con COINCIDIR debería ser de utilidad =C5*BUSCARV($C$1,Tabla1[#Todo],COINCIDIR($D5,Tabla1[#Encabezados],0)) Es con lo que participaría en su consulta. Lo que resta es definir que hacer si no encuentra la OT porque así como esta le devolvería error en ese caso, o si tiene condiciones que haya podido omitir también le afectarían el resultado.
    • He cambiado mi macro a este: Sub repetir() Set a = Sheets(ActiveSheet.Name) uf = a.Range("C" & Rows.Count).End(xlUp).Row 'ultima fila con datos ActiveCell.Select ActiveCell.Offset(1, 0).Select   'Application.OnTime Now + TimeValue("00:00:10"), "repetir", , True End If End Sub   Lo que no se es como detenerlo al llegar a la ultima fila con datos de la columna C. Muchas gracias
    • Buenas tardes a todos. Tengo un problema que preciso de vuestra ayuda.  Tengo que controlar los gastos de la oficina que trabajo y he de repartir unos gastos a % según una OT y unos tipos de gastos. Envío un archivo adjunto. Lo que necesito es que lo que aparece en la columna en amarillo lo haga automáticamente, teniendo en cuenta los datos de la tabla a la derecha. Por ejemplo, el primer gasto tiene una cuota de 1477 euros y teniendo en cuenta que es un gasto de tipo Común y que la OT es la 12810234, le corresponde un gasto de 605,57 euros ya que según la tabla de la derecha su % a imputar es de un 41%. ¿alguien me puede ayudar con la formula? He de añadir muchas más líneas y más hojas con el resto de OT y en el futuro cambiar más datos, así que necesito automatizarlo con una formula Excel. Gracias. Control de gastos.xlsx
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.