encontrar el último partido en la columna usando construido en funciones en excel

Tengo un libro de excel con varias instancias de la misma ID de cliente. Así, un cliente puede aparecer más de una vez en la lista. Me gustaría encontrar la última (la más cercana a la parte inferior) de la instancia de la ID de cliente para poder luego mirar a lo largo de esa misma fila para obtener información adicional. BUSCARV muestra el puño ejemplo, yo necesito el último.

Así, ¿cómo puedo encontrar la última instancia de un determinado ID de cliente utilizando el construido en funciones? Yo prefiero no escribir una macro para hacer esto.

InformationsquelleAutor dwstein | 2014-04-21

1 Kommentar

  1. 22

    Suponga que desea encontrar la última instancia de identificación de "id_1" en el rango A2:A8 y devolución correspondiente valor de rango B2:B8, a continuación, utilice:

    =LOOKUP(2,1/(A2:A8="id_1"),B2:B8)

    encontrar el último partido en la columna usando construido en funciones en excel


    Si quieres volver índice de última intance de id "id_1" en el rango A2:A8, uso:

    =MATCH(2,1/(A2:A8="id_1"))

    con la matriz de entrada (CTRL+CAMBIO+ENTRAR).

    Si quieres volver número de fila de última intance de id "id_1", uso:

    =LOOKUP(2,1/(A2:A8="id_1"),ROW(A2:A8))

    Esta sintaxis es un truco especial: (A2:A8="id_1") evalúa a {TRUE,FALSE,FALSE,TRUE,...}. Siguiente, suponiendo que TRUE=1 y FALSE=0, la parte 1/{TRUE,FALSE,FALSE,TRUE,...} le da {1,#DIV0!,#DIV0!,1,..}.

    Para devolver último número en la matriz resultante lookup_value debe ser mayor que la de cualquier valor en matriz_buscada ({1,#DIV0!,#DIV0!,1,..} en nuestro caso). Dado que la matriz contiene sólo 1 o #DIV0!, podemos tomar 2 como lookup_value, porque es siempre mayor que 1.

    • Me estoy poniendo a trabajar, pero no tengo idea de por qué. en mi fórmula wizzard, el 2 se llama Lookup Value. ¿Cuál es la 2 en su fórmula? También, ¿por qué la 1/... para el rango?
    • es un truco especial..(A2:A8="id_1") evalúa a {TRUE,FALSE,FALSE,TRUE,...}, siguiente, suponiendo que TRUE=1 y FALSE=0, parte 1/{TRUE,FALSE,FALSE,TRUE,...} le da {1,#DIV0!,#DIV0!,1,..}. Para volver el último número de en la matriz resultante valor_buscado debe ser mayor que la de cualquier valor en matriz_buscada ({1,#DIV0!,#DIV0!,1,..} en nuestro caso), ya que la matriz contiene sólo 1 o #DIV0!, podemos tomar 2 como valor_buscado, porque es siempre mayor que 1.
    • wow! Muchas gracias, pero yo todavía no entiendo muy bien. Hay una referencia que pueda punto de mí? También, en este trabajo en BUSCARV?
    • en general, esta fórmula basada en If the LOOKUP can not find an exact match, it chooses the largest value in the array that is less than or equal to the value. (de aquí). También puede utilizar este truco con MATCH fórmula (como en mi ejemplo anterior), sin embargo se requiere de la matriz de entrada, presonally prefiero LOOKUP
    • Acerca de Vlookup – no, usted no puede hacer esto, pero creo que mi primera fórmula con Lookup cubre todos los Vlookup funcionalidad

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea