Enumerar registros en una columna

04/02/2005 - 21:27 por Mbaeijhapa | Informe spam
Hola amigos,
Por favor quisiera una respuesta al siguiente tema:
Tengo un rango de datos formados por dos columnas, en una tengo las ventas
realizadas, y en la otra tengo los clientes que compraron. Suponiendo que
filtre (por autofiltro) las ventas que se hicieron a un solo cliente, cómo
hago para que en la siguiente columna de al lado del rango analizado se
enumere automaticamente los registros filtrados ?. Ej.:
COL.A COL.B COL.C
F.1 Carlos 500.-
F.2 Jorge 300.-
F.3 Carlos 200.-
F.4 Jorge 400.-
F.N Jorge 200.-

Una vez filtrado por "Carlos":
COL.A COL.B COL.C
F.1 Carlos 500.- 1
F.3 Carlos 200.- 2

Cómo hago para que automaticamente se enumere correlativamente en la columna
"C" los datos filtrados ?
Se entiende ?
Muchas gracias.-
Mbaeijhapa

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
05/02/2005 - 01:53 | Informe spam
hola, Mbaeijhapa !

... como hago para que... se enumere automaticamente los registros filtrados ?. Ej.:
COL.A COL.B COL.C
F.1 Carlos 500.-
F.2 Jorge 300.-
F.3 Carlos 200.-
F.4 Jorge 400.-
F.N Jorge 200.-
Una vez filtrado por "Carlos":
COL.A COL.B COL.C
F.1 Carlos 500.- 1
F.3 Carlos 200.- 2 [...]



suponiendo que incluyes los 'titulos' [y los desplegables de los autofiltros] en la fila 1
y que la lista 'se extiende' desde 'C2:C[n]'... 'autonumerala' con la siguiente formula =>matricial<=suma(1*(si(subtotales(3,desref($b$2,fila($b$2:b2)-fila($b$2),0)),1,0)))
-> la introduces en 'C2' con ctrl+may+enter y luego la copias hasta 'C[n]' <-
[toma en cuenta que 'mi' separador de argumentos es la coma ',' NO punto y coma ';']
cada vez que 'auto-filtres' la lista... la 'autonumeracion' se ajustara a las celdas visibles

saludos,
hector.
Respuesta Responder a este mensaje
#2 raul_s
05/02/2005 - 09:27 | Informe spam
Héctor Miguel:

Tu formula funciona perfectamente bien (felicitaciones), no logro entender
por que funciona, en realidad no comprendo muy bien las matriciales. Puedes
explicarla un poco ???

Gracias Raul_S

"Héctor Miguel" escribió:

hola, Mbaeijhapa !

> ... como hago para que... se enumere automaticamente los registros filtrados ?. Ej.:
> COL.A COL.B COL.C
> F.1 Carlos 500.-
> F.2 Jorge 300.-
> F.3 Carlos 200.-
> F.4 Jorge 400.-
> F.N Jorge 200.-
> Una vez filtrado por "Carlos":
> COL.A COL.B COL.C
> F.1 Carlos 500.- 1
> F.3 Carlos 200.- 2 [...]

suponiendo que incluyes los 'titulos' [y los desplegables de los autofiltros] en la fila 1
y que la lista 'se extiende' desde 'C2:C[n]'... 'autonumerala' con la siguiente formula =>matricial<> =suma(1*(si(subtotales(3,desref($b$2,fila($b$2:b2)-fila($b$2),0)),1,0)))
-> la introduces en 'C2' con ctrl+may+enter y luego la copias hasta 'C[n]' <-
[toma en cuenta que 'mi' separador de argumentos es la coma ',' NO punto y coma ';']
cada vez que 'auto-filtres' la lista... la 'autonumeracion' se ajustara a las celdas visibles

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
06/02/2005 - 01:19 | Informe spam
hola, raul !

... funciona perfectamente... no logro entender por que funciona... puedes explicarla un poco ???



hace como dos años 'tuve que' [intentar] 'explicar' una formula que propuse [muy] similar a la de ahora
la respuesta es 'la misma' [claro que 'adaptada' a la 'nueva' formula] ;)
espero no dejarte 'pior' en cuanto a matrices y formulas matriciales :))

si cualquier duda... ¿comentas?
saludos,
hector.
==suma(1*(si(subtotales(3,desref($b$2,fila($b$2:b2)-fila($b$2),0)),1,0)))

la parte central de la formula propuesta es la funcion desref como segundo argumento de la funcion subtotales
aunque la funcion subtotales 'trabaja' con matrices, NO 'permite' que esas matrices puedan ser 'manipuladas' en formulas
para lograr que subtotales devuelva una matriz manipulable, su segundo argumento ->debe ser<- desref
[es una tecnica que descubrio Laurent Longre alla por 1998, basado en un 'comportamiento no documentado' de desref]

dando por 'entendido' el uso de la funcion desref [y sus argumentos], 'partimos' de los siguientes 'valores entendidos'

1-. la funcion subtotales NO 'permite' la 'manipulacion' de la matriz con que 'trabaja' [a menos que se use]...
2.- la funcion desref [como su segundo argumento] 'devolvera' una matriz de celdas en el rango [siempre y cuando]...
3.- 'su' segundo argumento [filas_a_desplazar] debe ser [sea] una matriz, que 'significa' para desref [en este caso] que...
4.- 'su' primer argumento [la celda 'de partida'] 'ira bajando' por la matriz de celdas [del segundo agumento], y para que...
5.- el primer 'desplazamiento' de filas sea CERO =>que inicie en la misma celda 'de partida'<= [se debe restar 'ella misma']
6.- al segundo argumento [filas_a_desplazar] se 'complementa' con la resta de la fila de la '1er_celda_del_rango'.

'destripando' la parte 'central' de la formula [la funcion desref], se obtienen los siguientes 'parciales'
1.- 'b2' es la referencia a la celda 'de partida' [primer argumento]
2.- 'fila($b$2:b2)-fila($b$2)' [segundo argumento] 'devuelve' la matriz [de 'enteros'] por la que 'ira bajando' la celda 'de
partida'
fila($b$2:b2) 'devuelve' una matriz con los numeros de fila de las celdas 'pasadas' [como parte de] al segundo argumento
la parte 'final' [-fila($b$2)] se encarga de 'ajustar' para que el primer desplazamiento sea SIEMPRE CERO
3.- 0 [tercer argumento] 'hara' que la columna de 'desplazamiento' de la referencia sea LA MISMA

la matriz 'devuelta' por la funcion desref es ahora [por fin] 'manipulable' [como segundo argumento] por la funcion subtotales
la matriz que 'devuelve' la funcion subtotales 'muestra' unos o ceros [verdadero o falso] por cada fila [si esta filtrada o no]

'el resto' es...
1.- 'ver' si cada fila [de las celdas del rango] esta filtrada o no.
2.- 'sumar' una unidad por cada celda 'visible' y... ¡ FIN !!! ;)
Respuesta Responder a este mensaje
#4 KL
06/02/2005 - 02:20 | Informe spam
Hola chicos,

Solo una cosa - creo q la formula

=SUMA(1*(SI(SUBTOTALES(3,DESREF($b$2,FILA($b$2:b2)-FILA($b$2),0)),1,0)))
...=> 72 caracteres

se puede depurar/acortarla un pelin:

=SUMA(SI(SUBTOTALES(3,DESREF($B$2,FILA($B$2:B2)-FILA($B$2),0)),1,0)) ...=>
68 caracteres

o bien

=SUMA(--(SUBTOTALES(3,DESREF($B$2,FILA($B$2:B2)-FILA($B$2),0))>0)) ...=> 66
caracteres

Saludos,
KL

"Héctor Miguel" wrote in message
news:uRiiXG%
hola, raul !

... funciona perfectamente... no logro entender por que funciona...
puedes explicarla un poco ???



hace como dos años 'tuve que' [intentar] 'explicar' una formula que
propuse [muy] similar a la de ahora
la respuesta es 'la misma' [claro que 'adaptada' a la 'nueva' formula] ;)
espero no dejarte 'pior' en cuanto a matrices y formulas matriciales :))

si cualquier duda... ¿comentas?
saludos,
hector.
=> =suma(1*(si(subtotales(3,desref($b$2,fila($b$2:b2)-fila($b$2),0)),1,0)))

la parte central de la formula propuesta es la funcion desref como segundo
argumento de la funcion subtotales
aunque la funcion subtotales 'trabaja' con matrices, NO 'permite' que esas
matrices puedan ser 'manipuladas' en formulas
para lograr que subtotales devuelva una matriz manipulable, su segundo
argumento ->debe ser<- desref
[es una tecnica que descubrio Laurent Longre alla por 1998, basado en un
'comportamiento no documentado' de desref]

dando por 'entendido' el uso de la funcion desref [y sus argumentos],
'partimos' de los siguientes 'valores entendidos'

1-. la funcion subtotales NO 'permite' la 'manipulacion' de la matriz con
que 'trabaja' [a menos que se use]...
2.- la funcion desref [como su segundo argumento] 'devolvera' una matriz
de celdas en el rango [siempre y cuando]...
3.- 'su' segundo argumento [filas_a_desplazar] debe ser [sea] una matriz,
que 'significa' para desref [en este caso] que...
4.- 'su' primer argumento [la celda 'de partida'] 'ira bajando' por la
matriz de celdas [del segundo agumento], y para que...
5.- el primer 'desplazamiento' de filas sea CERO =>que inicie en la misma
celda 'de partida'<= [se debe restar 'ella misma']
6.- al segundo argumento [filas_a_desplazar] se 'complementa' con la resta
de la fila de la '1er_celda_del_rango'.

'destripando' la parte 'central' de la formula [la funcion desref], se
obtienen los siguientes 'parciales'
1.- 'b2' es la referencia a la celda 'de partida' [primer argumento]
2.- 'fila($b$2:b2)-fila($b$2)' [segundo argumento] 'devuelve' la matriz
[de 'enteros'] por la que 'ira bajando' la celda 'de partida'
fila($b$2:b2) 'devuelve' una matriz con los numeros de fila de las
celdas 'pasadas' [como parte de] al segundo argumento
la parte 'final' [-fila($b$2)] se encarga de 'ajustar' para que el
primer desplazamiento sea SIEMPRE CERO
3.- 0 [tercer argumento] 'hara' que la columna de 'desplazamiento' de la
referencia sea LA MISMA

la matriz 'devuelta' por la funcion desref es ahora [por fin]
'manipulable' [como segundo argumento] por la funcion subtotales
la matriz que 'devuelve' la funcion subtotales 'muestra' unos o ceros
[verdadero o falso] por cada fila [si esta filtrada o no]

'el resto' es...
1.- 'ver' si cada fila [de las celdas del rango] esta filtrada o no.
2.- 'sumar' una unidad por cada celda 'visible' y... ¡ FIN !!! ;)

Respuesta Responder a este mensaje
#5 Héctor Miguel
06/02/2005 - 07:08 | Informe spam
hola, chicos !

... creo q la formula
=SUMA(1*(SI(SUBTOTALES(3,DESREF($b$2,FILA($b$2:b2)-FILA($b$2),0)),1,0))) ... se puede depurar/acortarla un pelin:
=SUMA(SI(SUBTOTALES(3,DESREF($B$2,FILA($B$2:B2)-FILA($B$2),0)),1,0)) ...=> 68 caracteres
=SUMA(--(SUBTOTALES(3,DESREF($B$2,FILA($B$2:B2)-FILA($B$2),0))>0)) ...=> 66 caracteres



[en realidad] si la matriz devuelta por subtotales ya es 'manipulable' [gracias al desref]...
no le hace falta ya ningun 'maquillaje' [puede sumar 0/1 o verdadero/falso]...
=suma(subtotales(3,desref($b$2,fila($b$2:b2)-fila($b$2),0))) => 60 caracteres ;)

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida