contar el valor de una columna relacionada con los no repetidos de otra

19/12/2008 - 12:20 por raulabusada | Informe spam
Buenos dias,

Os expongo el problema que me ha surgido:

Tengo tres columnas: fecha, Dni/niF y Juridica/Fisica:

12/11/2008 12345678A F
12/11/2008 12345678A F
12/11/2008 99999999A F
12/11/2008 B55646181 J
23/11/2008 99999999A F
23/11/2008 B55646181 J


Necesito contar, entre dos fechas ( que estan en otras dos celdas),
las personas fisicas o juridicas diferentes que hay, basandome en su
CIF/NIF

el resultado seria por ejemplo:

entre el 10/12/2008 y el 22/12/2008
Fisicas:2
Juridicas:1
entre el 23/12/2008 y el 28/12/2008
Fisicas:1
Juridicas:1


Lo de las fechas es sencillo, porque lo hago con la formula
SumaProducto,
=SUMAPRODUCTO((A:A>=$N$3)*(A:A<=$O$3)
ha esta formula habria que añadirle que contase el numero de Fisicas y
juridicas basandome en el Dni/nif, como ya he dicho antes.

Un saludo y muchas gracias de antemano

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
20/12/2008 - 03:15 | Informe spam
hola, !

aunque en la version 2007 puedes hacer referencia a toda una columna en funciones como sumaproducto...
lo que solicitas trabajara mejor si "recortas" el rango de busqueda/comparacion a SOLO lo necesario
y si podemos suponer que los datos (de tu ejemplo) estan en el rango A2:C7
y que las fechas en la columna A SIEMPRE estaran ordenadas en ascendente
y que en las celdas Q1 y R1 pones las literales "F" y "J" y las formulas en la fila 2 (Q2 y R2)

apoyate definiendo/creando 4 nombres +/- como sigue
OJO: comprueba si "mi" separador de argumentos (coma) es el mismo en tu sistema

nombre formula (en el cuadro de edicion "se refiere a:")
Ini =min(si($a$2:$a$7>=$n$3,fila($a$2:$a$7)))
Fin =max(fila($a$2:$a$7)*($a$2:$a$7<=$o$3))
Rango =desref($b$1,ini-1,,fin-ini+1,)
Cond =desref(rango,,1)

y usa la siguiente formula (inicial en la celda...)
[Q2] =sumaproducto(1/contar.si(rango,rango)*(cond=q$1))

luego la copias a la celda R2 y...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Tengo tres columnas: fecha, Dni/niF y Juridica/Fisica:
12/11/2008 12345678A F
12/11/2008 12345678A F
12/11/2008 99999999A F
12/11/2008 B55646181 J
23/11/2008 99999999A F
23/11/2008 B55646181 J
Necesito contar, entre dos fechas ( que estan en otras dos celdas)
las personas fisicas o juridicas diferentes que hay, basandome en su CIF/NIF
el resultado seria por ejemplo:
entre el 10/12/2008 y el 22/12/2008
Fisicas:2
Juridicas:1
entre el 23/12/2008 y el 28/12/2008
Fisicas:1
Juridicas:1
Lo de las fechas es sencillo, porque lo hago con la formula SumaProducto,
=SUMAPRODUCTO((A:A>=$N$3)*(A:A<=$O$3)
ha esta formula habria que anadirle que contase el numero de Fisicas y juridicas basandome en el Dni/nif...
Respuesta Responder a este mensaje
#2 Xavier Budet Graco
20/12/2008 - 22:02 | Informe spam
Hola Héctor Miguel, excelente aportación. Como me interesaba el tema y no podía resolverlo en una celda he probado las tuyas y con el ejemplo de "raulabusada" funcionan perfectamente. He ampliado la matriz para que fuera un ejemplo real y veo que en el caso de que haya el mismo DNI en "F" y "J" el resultado es incorrecto porque por lo visto en la columna B no hace la selección por letra (?). ¿Lo puedes comprobar?.

Gracias,

Saludos,

Xavier

Quitar MAC para contestar. Gracias.

"Héctor Miguel" escribió en el mensaje news:
hola, !

aunque en la version 2007 puedes hacer referencia a toda una columna en funciones como sumaproducto...
lo que solicitas trabajara mejor si "recortas" el rango de busqueda/comparacion a SOLO lo necesario
y si podemos suponer que los datos (de tu ejemplo) estan en el rango A2:C7
y que las fechas en la columna A SIEMPRE estaran ordenadas en ascendente
y que en las celdas Q1 y R1 pones las literales "F" y "J" y las formulas en la fila 2 (Q2 y R2)

apoyate definiendo/creando 4 nombres +/- como sigue
OJO: comprueba si "mi" separador de argumentos (coma) es el mismo en tu sistema

nombre formula (en el cuadro de edicion "se refiere a:")
Ini =min(si($a$2:$a$7>=$n$3,fila($a$2:$a$7)))
Fin =max(fila($a$2:$a$7)*($a$2:$a$7<=$o$3))
Rango =desref($b$1,ini-1,,fin-ini+1,)
Cond =desref(rango,,1)

y usa la siguiente formula (inicial en la celda...)
[Q2] =sumaproducto(1/contar.si(rango,rango)*(cond=q$1))

luego la copias a la celda R2 y...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Tengo tres columnas: fecha, Dni/niF y Juridica/Fisica:
12/11/2008 12345678A F
12/11/2008 12345678A F
12/11/2008 99999999A F
12/11/2008 B55646181 J
23/11/2008 99999999A F
23/11/2008 B55646181 J
Necesito contar, entre dos fechas ( que estan en otras dos celdas)
las personas fisicas o juridicas diferentes que hay, basandome en su CIF/NIF
el resultado seria por ejemplo:
entre el 10/12/2008 y el 22/12/2008
Fisicas:2
Juridicas:1
entre el 23/12/2008 y el 28/12/2008
Fisicas:1
Juridicas:1
Lo de las fechas es sencillo, porque lo hago con la formula SumaProducto,
=SUMAPRODUCTO((A:A>=$N$3)*(A:A<=$O$3)
ha esta formula habria que anadirle que contase el numero de Fisicas y juridicas basandome en el Dni/nif...




Respuesta Responder a este mensaje
#3 Héctor Miguel
20/12/2008 - 22:59 | Informe spam
hola, Xavier !

... me interesaba el tema... he probado las tuyas y con el ejemplo de "raulabusada" funcionan perfectamente.
He ampliado la matriz para que fuera un ejemplo real y veo que en el caso de que haya el mismo DNI en "F" y "J"
el resultado es incorrecto porque por lo visto en la columna B no hace la seleccion por letra (?). Lo puedes comprobar?...



cierto... ya habia comprobado en pruebas con rangos mas extensos que la forma "1/contar.si(..." presenta irregularidades
(obviamente, cuando se combina la necesidad de comparar discrecionalmente otro rango) :-((

para rangos mas "reales" (o extensos) cambia la formula propuesta (los nombres permanecen sin cambio) p.e.

de la propuesta de formula original (entrada norma):
[Q2] =sumaproducto(1/contar.si(rango,rango)*(cond=q$1))

a la siguiente formula de entrada matricial <ctrl>+<shift>+<enter>:
[Q2] =contar(1/frecuencia(si(cond=q$1,coincidir(rango,rango,0)),fila(rango)-fila(desref(rango,,,1,))+1))

saludos,
hector.
Respuesta Responder a este mensaje
#4 Xavier Budet Graco
21/12/2008 - 13:43 | Informe spam
Hola Héctor Miguel, probado y funcionando.
Lo haré un poco más exhaustivo porque la verdad es que me ha impresionado la solución. Además con esta nueva fórmula evitas el error de celdas vacias. Para mi la mejor aportación en fórmulas Excel de los últimos meses en este foro.

Gracias (es de suponer que le sirva a "raulabusada")

Saludos,

Xavier

Quitar MAC para contestar. Gracias.

"Héctor Miguel" escribió en el mensaje news:
hola, Xavier !

... me interesaba el tema... he probado las tuyas y con el ejemplo de "raulabusada" funcionan perfectamente.
He ampliado la matriz para que fuera un ejemplo real y veo que en el caso de que haya el mismo DNI en "F" y "J"
el resultado es incorrecto porque por lo visto en la columna B no hace la seleccion por letra (?). Lo puedes comprobar?...



cierto... ya habia comprobado en pruebas con rangos mas extensos que la forma "1/contar.si(..." presenta irregularidades
(obviamente, cuando se combina la necesidad de comparar discrecionalmente otro rango) :-((

para rangos mas "reales" (o extensos) cambia la formula propuesta (los nombres permanecen sin cambio) p.e.

de la propuesta de formula original (entrada norma):
[Q2] =sumaproducto(1/contar.si(rango,rango)*(cond=q$1))

a la siguiente formula de entrada matricial <ctrl>+<shift>+<enter>:
[Q2] =contar(1/frecuencia(si(cond=q$1,coincidir(rango,rango,0)),fila(rango)-fila(desref(rango,,,1,))+1))

saludos,
hector.


Respuesta Responder a este mensaje
#5 raulabusada
22/12/2008 - 13:32 | Informe spam
Buenas,
Muchas Gracias por contestar!!!
he implementado las formulas y nombres como me habeis indicado (vaya
formulas!! (esto yo ni en 10 años!!), pero me da problemas a la hora
de contar, no me lo hace correctamente, he estado revisando las
formulas y creo que las he adaptado tal y como las teneis.
no se donde puedo tener el fallo, pero no hay manera de que las cuente
correctamente. si pongo cualquier otra letra en la condicion, no me
las cuenta, pero si pongo J o F si las cuenta, pero no bien.

Gracias otra vez y a ver si me podeis echar una mano.
Feliz navidad!!!!
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida