Forums Últimos mensajes - Powered by IBM
 

AYUDA (PARA HECTOR MIGUEL)

09/08/2007 - 19:56 por lulu moreno | Informe spam
El 24/07/07 nos quedamos en (recapitulando)


Mi fórmula
=IF(COUNTIF(BASE111!$A$4:$Q$12,Sheet2!A16),INDEX(BASE111!$A$4:$Q$12,SMALL(IF(BASE111!$A$4:$Q$12=Sheet2!A16,ROW(BASE111!$A$4:$Q$12)-ROW(BASE111!$A$4)+1,ROW(BASE111!$Q$12)+1),Sheet2!B16),17))



ésta hace lo que necesito en gran parte.


Tengo en BASE111, columna A varios nombre (en diferentes celdas de columna A), éstos pueden o no estar repetidos (hasta 6 veces) y tengo valores correspondientes a estos nombres en la columna Q (columna 17) ... en la sheet2 A16:A21 tengo anotado un mismo nombre... y en B16:b21 numero del 1 al 6
entonces donde tengo la fórmula (C16:C21) me va colocando lo encontrado en la columna 17 de BASE111 segun orden del 1 al 6
... solo que no logro indicarle que me coloque el valor 0 cuando por ejemplo el nombre en BASE111 aparece 4 veces (no siempre va a estar 6 veces)
deberia colocar en renglones 5 y 6 cero (por ejemplo), pero me indica #REF!.




TU ME PEDISTE HACER...

el detalle es que no puedes pedir mas de lo que hay [donde solo hay 4... mas
de 4 no existe] ;)
prueba condicionando la funcion index a solo los existentes [p.e.]
en la celda donde comienza la busqueda de 'A6' en su indice 1 [B6] inicia
con la siguiente formula:

=if(countif(base111!$a$6:$q$12,sheet2!a16)<b6,0,index(base111!$a$4:$q$12,small(if(base111!$a$4:$q$12=sheet2!a16
row(base111!$a$4:$q$12)-row(base111!$a$4)+1,row(base111!$q$12)+1),sheet2!b16),17))

saludos,
hector.


Ya intenté esto último también.y sigue indicando #REF! cuando ya no
localiza el nombre por 5ta y 6ta vez


Si te revolví mucho dime, para volver a explicar.

Saludos.
 

Leer las respuestas

#1 Héctor Miguel
10/08/2007 - 05:18 | Informe spam
hola, lulu !

__ 1 __
El 24/07/07 nos quedamos en (recapitulando)
Mi formula
=IF(COUNTIF(BASE111!$A$4:$Q$12,Sheet2!A16),INDEX(BASE111!$A$4:$Q$12,SMALL(IF(BASE111!$A$4:$Q$12=Sheet2!A16,ROW(BASE111!$A$4:$Q$12)-ROW(BASE111!$A$4)+1,ROW(BASE111!$Q$12)+1),Sheet2!B16),17))
esta hace lo que necesito en gran parte.


__ 2 __
TU ME PEDISTE HACER...
el detalle es que no puedes pedir mas de lo que hay [donde solo hay 4... mas de 4 no existe] ;)
prueba condicionando la funcion index a solo los existentes [p.e.]
en la celda donde comienza la busqueda de 'A6' en su indice 1 [B6] inicia con la siguiente formula:

=if(countif(base111!$a$6:$q$12,sheet2!a16)<b6,0,index(base111!$a$4:$q$12,small(if(base111!$a$4:$q$12=sheet2!a16, row(base111!$a$4:$q$12)-row(base111!$a$4)+1,row(base111!$q$12)+1),sheet2!b16),17))



revisa lo siguiente y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

=
1) hay una *ligera* diferencia entre la formula que expones en esta consulta y la consulta a la que haces referencia, donde la formula ERA:
=IF(COUNTIF(BASE111!$A$6:$Q$12,Sheet2!A16),INDEX(BASE111!$A$4:$Q$12,SMALL(IF(BASE111!$A$4:$Q$12=Sheet2!A16,ROW(BASE111!$A$4:$Q$12)-ROW(BASE111!$A$4)+1,ROW(BASE111!$Q$12)+1),Sheet2!B16),17))



-> la diferencia es *ligera*, porque solo es la primer celda de la primer referencia a la hoja BASE111 donde has cambiado...
de: -> =IF(COUNTIF(BASE111!$A$6:$Q$12
a: -> =IF(COUNTIF(BASE111!$A$4:$Q$12

-> [sin embargo]... esta diferencia es *crucial* ya que la dimension [filas] entre los rangos es distinta :))

-> MI *error* fue que solamente *adapte* tu formula *original* [anterior], ya que mi excel no es en ingles :-(( [perdon]

2) *rectificando* esta omision... prueba ahora con la siguiente formula:

=if(countif(base111!$a$4:$q$12,a16)<b16,0,index(base111!$a$4:$q$12,small(if(base111!$a$4:$q$12¡6,row(base111!$a$4:$q$12)-row(base111!$a$4)+1,row(base111!$q$12)+1),b16),17))

-> OJO: estoy asumiendo que la hoja donde usas la formula se llama 'Sheet2'...
por lo que estoy omitiendo la redundancia del nombre de la misma hoja en la formula -?-

[por si las dudas]... no te olvides que la formula adaptada de la pagina sugerida es de entrada matricial
al introducirla/editarla se debe confirmar por {ctrl}+{shift}+{enter}

Preguntas similares