Haga referencia a otra hoja de Excel utilizando un valor de celdas


1

Mi intento de fx:

=IF(MATCH(B1,Sheet1!$AY$2:$AY$50000,0) > 0,Sheet1! <problem is here> ,"")

así que necesito ir al número de columna del valor de la <B1>celda de las hojas iniciales para obtener el valor deseado Sheet1.

alguna idea sin una función vb separada?


Sea lo que sea lo que intente hacer, parece que puede hacerlo sin vb, utilizando fórmulas simples de Excel. Pero, necesita reformular su pregunta, es imposible darse cuenta de lo que está preguntando.

Sí, se requiere aclaración. Si B1 coincide por primera vez con Sheet1! AY100, por ejemplo, MATCH devuelve 99, ¿qué valor de celda desea que devuelva la fórmula en ese caso? - ¿Qué versión de Excel estás usando?
barry houdini

estoy de acuerdo. Odio preguntar, pero realmente no sabía cómo expresar esto. gracias a todos

@ user1732894, tenga en cuenta que rellenar la lista de etiquetas con las mismas palabras que están en el título de su pregunta no ayuda a las personas a encontrar su pregunta. Las etiquetas no son palabras clave. Por favor, seleccione las etiquetas con cuidado.
Charles

Respuestas:


0

Basado en lo que está pidiendo, puede usar la indirectfórmula para hacer referencia indirecta a una celda a través de su nombre de texto

=Indirect("Sheet1!" & "A1")

Eso devolverá el texto de la celda A1 de la hoja 1.

Puede implementar esto dentro de su fórmula más grande.

PERO

Puede ser más fácil usar la offsetfórmula en este caso.

=Offset(Sheet1!A1,0,5)

Esa fórmula comenzará en la celda A1 y la moverá 5 celdas a la derecha ... así que combinada con su fórmula de coincidencia, podría hacer esto ...

 =IF(MATCH(B1,Sheet1!$AY$2:$AY$50000,0) > 0,Offset(Sheet1!A1,0,MATCH(B1,Sheet1!$AY$2:$AY$50000,0)-1),"")

Ambos enfoques son formas válidas de usar una fórmula o texto para llegar a una nueva celda.

Sin embargo, no tengo claro qué enfoque se adapta mejor a sus necesidades debido a la imprecisión en su publicación original.

Tenga en cuenta que si tiene Excel 2007+ puede simplificar el desplazamiento como:

=Iferror(Offset(Sheet1!A1,0,MATCH(B1,Sheet1!$AY$2:$AY$50000,0)-1),"")

Eso es exactamente lo que necesitaba. ¡Gracias! Solo tuve que darle un rodeo un poco. Realmente odio esas preguntas que sabes lo que quieres hacer, pero no cómo googlearlas correctamente.

MATCH devuelve un número positivo o un error, por lo que verificar si el resultado es> 0 es redundante: si no se encuentra B1, su fórmula devuelve un error, nunca puede devolver un espacio en blanco, la parte OFFSET por sí sola haría lo mismo: sugiero que envuelva eso en IFERROR (suponiendo Excel 2007) para atrapar errores
barry houdini

Gran punto para la legibilidad de Barry. Lo dejé en un formato para compatibilidad de versiones cruzadas. Actualizaré con 2007+ para su comentario / su beneficio.
danielpiestrak
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.