24.2.10

Excel: cómo hacer referencia a una casilla que está en otra hoja distinta a la actual

Para hacer que una casilla contenga lo mismo que otra casilla en otra página de un archivo Excel hay que poner lo siguiente:

HOJAN!CODIGO_CASILLA

Donde:
HOJAN es el nombre de la hoja (por ejemplo, Hoja1)
CODIGO_CASILLA es el código que identifica a la casilla a la que hace referencia en la otra página (por ejemplo, A7)Por ejemplo.

Supongamos que tenemos un fichero Excel donde:

• en la Hoja 1, tenemos los precios de los productos y las cantidades que se van a comprar para, una fiesta,

• y en la hoja 2, tenemos la lista de productos a comprar y sus precios solamente.

Se poría repetir la información, pero ya que hemos rellenado la hoja1 totalmente como se ve en la siguiente figura:


No tiene sentido volver a rellenar todos estos campos para hacer la Hoja2.

Así en la hoja2 hemos escrito lo siguiente:

Casilla de la hoja2 A3 = Hoja1!A2
Casilla de la hoja2 A4 = Hoja1!A3
Casilla de la hoja2 A5 = Hoja1!A4
Casilla de la hoja2 A6 = Hoja1!A5

Casilla de la hoja2 B3 = Hoja1!B2
Casilla de la hoja2 B4 = Hoja1!B3
Casilla de la hoja2 B5 = Hoja1!B4
Casilla de la hoja2 B6 = Hoja1!B5

Con lo que tendríamos toda la información pasada sin tener que esribirlo todo de nuevo.


TRUCO: También se puede hacer navegando con el ratón en vez de escribir Hoja1!AX
Para ello basta poner el “=” y después ir a la hoja correspondiente y cliquear en la casilla que corresponda.

5 comments:

  1. tngo una celda donde ingresaré el ID de un cliente, necesito que en otra casilla aparezca automáticamente el nombre y que lo obtenga de otra hoja en el mismo libro

    ReplyDelete
  2. Y si el nombre de la hoja es variable, como se hace?

    Explico:
    En la Hoja1 hay una columna con un número, dicho número compone parte del nombre de la hoja a la que refenciar.

    Ejemplo:
    En la Hoja1, celda B2 hay un 3
    En la Hoja1, celda C2 deseo poner una fórmula que referencie a Hoja3 porque en B2 hay un 3, a Hoja# si en B2 está #,.... variable

    Lo diré de otra forma, en la fórmula:
    =BUSCARV(B2;DESREF(Hoja2!A1;1;0;9999;11);3;FALSO)

    Deseo que Hoja2 no sea fijo sino que esté en función del valor que esté en la celda A2...

    Algo del estilo a:
    =BUSCARV(B2;DESREF("Hoja"&A2&"!A1";1;0;9999;11);3;FALSO)
    Pero claro así no va... y si intento con DESREF... no tira porque DESREF parece no querer aceptar el cambio de Hoja, parece requerir permanecer en la misma hoja.

    La idea es similar a lo que DIRECCION devuelve, ver ejemplo:
    =DIRECCION(1;1;1;1;"Hoja"&A2&"!")

    Si meto eso en DESREF dice que error en la fórmula.

    Igual estoy intentando matar moscas a cañonazos...

    Lo que tengo en la Hoja1 es esto:
    Fila1 -> Cabeceras
    Fila2...FilaN -> Datos numéricos
    ColumnaA -> Parte del nombre de la Hoja donde buscar
    ColumnaB -> Valor a buscar en esa otra hoja

    El resto de hojas tienen la estructura Hoja#, en donde la # se corresponde con los datos metidos en la Hoja1 en la columna A

    Estoy perdido... cómo se hace una referencia a un rango de otra hoja con el nombre de dicha hoja variable en función del valor de una celda...

    Dicho de otro modo... como hago para que en la fórmula
    DESREF(Hoja2!A1;1;0;9999;11)
    Ese Hoja2 esté en función del valor de otra celda.

    O dicho de otra manera... si el valor de esa otra celda cambia, la búsqueda ha de hacerse en otra hoja diferente.

    Mil gracias.

    ReplyDelete
  3. Encontrado:
    =BUSCARV(A2;INDIRECTO("Hoja"&B2&"!$A$1:$N$9999");3;FALSO)

    Con eso va.

    ReplyDelete
  4. Perfecto.Muchas gracias por tener el don y la voluntad de compartir...

    ReplyDelete
  5. Muchas gracias, funciona divinamente....

    ReplyDelete