martes, 9 de junio de 2009

Celdas Alternas con INDIRECTO

Puede descargar los archivos de Excel siguientes.

Hoja1

Supongamos que queremos mostrar una lista vertical con los beneficios de una empresa a lo largo de múltiples años. Los datos originales los tenemos en una fila y alternos. Disponemos de los ingresos, los gastos y por diferencia los resultados. Si tratáramos de crear la columna de beneficios vinculando celda a celda nos encontraríamos con una tarea muy ardua y llena de posibles errores. Aquí mostramos un método estupendo con la función INDIRECTO utilizando referencias de Fila Columna: F1C1.






Hoja2

En la Hoja2 hemos dispuesto los datos originales en una tabla vertical y deseamos obtener el Resultado también en una tabla vertical. Hemos utilizado dos métodos.
  1. Método 1: usando la función INDIRECTO
  2. Método 2: usando la función INDICE



6 comentarios:

  1. excelente recurso.
    ¡gracias por recopilar tan didácticamente ideas como esta!

    ResponderEliminar
  2. Estupendo blog.
    En el ejercicio INDIRECTOalterno.xlsx hay una segunda cuestión que no sé como reslver de una manera "elegante": Calcular el en que año se alcanzó el mínimo resultado positivo.
    Alguna pista?

    ResponderEliminar
    Respuestas
    1. Hola.
      Tomemos como ejemplo el archivo INDIRECTOalterno.xlsx que puedes descargar al inicio del post.
      En la celda B10 pones "Año" y debajo los años desde 1926 hasta 2020. En la celda C10 pones "Resultado" y debajo obtienes con la función INDIRECTO todos los resultados.
      Luego en cualquier celda vacía escribes la siguiente función matricial:

      =DESREF(C10;COINCIDIR(MIN(SI((C11:C105)>0;C11:C105));C11:C105;0);-1)

      Al tratarse de una función matricial se valida pulsando tres teclas: CONTROL+SHIFT+ENTER
      Si todo sale bien verás que Excel pone la fórmula entre llaves { } y te estará dando el año en el que se alcanzó el mínimo resultado positivo.
      Un cordial saludo.

      Eliminar
  3. Hola, muchas gracias por el ejercicio. Sólo logro que funcione si quiero coger la 3 celda, es decir, la de resultado; pero no si quiero que seleccione la de ingresos o la de gastos. ¿Cómo lo haría? Gracias!

    ResponderEliminar
    Respuestas
    1. Hola Laura.

      Las fórmulas por el método 1 son las siguientes. Son las de la fila 7, que es la primera de la tabla, y luego se han de copiar hacia abajo.
      Ingresos: =INDIRECTO("F"&2+F7*3&"C4";0)
      Gastos: =INDIRECTO("F"&3+F7*3&"C4";0)
      Resultado: =INDIRECTO("F"&4+F7*3&"C4";0)

      Por el método 2:
      Ingresos: =INDICE($D$5:$D$259;F8*3-2)
      Gastos: =INDICE($D$5:$D$259;F8*3-1)
      Resultado: =INDICE($D$5:$D$259;F8*3)

      Espero que esto ayude.
      Un saludo.

      Eliminar
  4. Que interesante! Y en el caso de que queramos hacer lo contrario? Es decir, mostrar una lista añadiendo celdas alternas vacias a una lista original sin celdas alternas.

    ResponderEliminar