2010-03-12 14 views

Respuesta

45

Puede utilizar la función de Excel Index:

=INDEX(Age, 5) 
+3

¿Lo sabe? si hay una manera de hacer que esto funcione con selecciones relativas, para que la fórmula se pueda "arrastrar hacia abajo"/aplicar a varias celdas en la misma columna? – Leif

10

"¿Sabe usted si hay una manera de hacer este trabajo con selecciones relativas, de forma que la fórmula puede ser 'arrastrado'/aplicado la mayoría de las células en la misma columna? "

Para hacer que dicha selección sea relativa, simplemente use la fórmula ROW para un número de fila en la fórmula INDEX y la fórmula COLUMN para el número de columna en la fórmula INDEX. Para hacer esto más claro aquí es el ejemplo:

=INDEX(named_range,ROW(A1),COLUMN(A1)) 

Suponiendo que el rango con nombre comienza en A1 esta fórmula simplemente índices que van por el número de fila y columna de la celda de referencia y desde que la referencia es relativa que cambia cuando se arrastra el la celda hacia abajo o hacia un lado, lo que hace posible crear una matriz completa de células fácilmente.

+2

¿Esto no arruina todo el concepto de rangos con nombre, si necesito saber la celda en la que comienza el rango nombrado? – Dana

+0

Depende de lo que quiera hacer, la mayoría de las veces el rango nombrado comenzará en la parte superior. No he hecho nada en Excel por un tiempo pero recuerdo que cuando estaba creando un modelo de hoja de cálculo en el pasado pude crear un rango dinámico que tenía varias posiciones dependiendo del filtro, así que supongo que en lugar de A1 codificado para ROW o COLUMN usaría algo dinámico para devolver la referencia. No puedo probar esto ahora, ya que estoy en Linux. –

+0

@Dana, no creo que sea el caso; 'row (A1)' y 'column (A1)' solo producen las coordenadas '(1,1)', que usa para indexar la primera celda en su rango con nombre. Funcionaría igual si 'named range' no comenzara en A1. – AnjoMan

0

Agregue una columna a la izquierda para que B10 a B20 sea su rango con nombre Edad. Configure A10 a A20 de modo que A10 = 1, A11 = 2, ... A20 = 11 y proporcione el rango A10 a A20 un nombre, por ejemplo, AgeIndex. El quinto elemento se puede encontrar utilizando la fórmula de matriz "= sum (Age * (1 * (AgeIndex = 5))". Como es una fórmula de matriz, necesitará presionar shift + ctrl + return para que funcione y no sólo volver

0

Hay un par de diferentes maneras en que podría hacer esto:.

1) Mesas Mimic Excel utilizando con un rango con nombre

En su ejemplo, usted nombró el rango A10:A20 "Edad ". Dependiendo de cómo quisiera hacer referencia a una celda en ese rango, podría (como escribió @Alex P) usar =INDEX(Age, 5) o si desea hacer referencia a una celda del rango "Edad" que está en la misma fila que su fórmula, solo use:

=INDEX(Age, ROW()-ROW(Age)+1) 

Esto imita las características de referencia relativos integradas en las tablas de Excel, pero es una alternativa si no desea utilizar una tabla.

Si el rango con nombre es toda una columna, la fórmula se simplifica como:

=INDEX(Age, ROW()) 

2) utilizar una tabla de Excel

Alternativamente, si lo configuran como una tabla de Excel y tipo " Edad "como el título del encabezado de la columna Edad, luego su fórmula en columnas a la derecha de la columna Edad puede usar una fórmula como esta:

=[@[Age]] 
+0

"..entonces su fórmula en columnas a la derecha de la columna Age ..." a menos que esté malinterpretando su respuesta, creo que la pregunta era si había una manera de hacer referencia a una celda en una columna con nombre –

Cuestiones relacionadas