valor una total rango primer posicion otra obtener número indice funcion fila encontrar diferente devolver coincidir cero celda buscar excel excel-formula

excel - una - encontrar un índice de fila de un número que ocurrió primero



obtener el valor de una celda en excel (2)

Hola amigo puedes usar macros para hacer esto.

Usa el siguiente código

Sub FindNumbers() Sheet1.Range("B:D") = "" Application.ScreenUpdating = False tot = Sheet1.Range("A1048575").End(xlUp).Row i = 1 k = 1 m = 1 n = 1 o = 1 p = 1 For i = 1 To tot c = Application.WorksheetFunction.CountIf(Sheet1.Range("B:B"), Sheet1.Range("A" & i).Value) If c <= 0 Then Sheet1.Range("B" & k).Value = Sheet1.Range("A" & i).Value k = k + 1 End If Next tots = Sheet1.Range("B1048575").End(xlUp).Row For m = 1 To tots For n = 1 To tot If Sheet1.Range("B" & m).Value = Sheet1.Range("A" & n).Value Then Sheet1.Range("D" & m).Value = n End If Next Next For o = 1 To tots For p = 1 To tot If Sheet1.Range("B" & o).Value = Sheet1.Range("A" & p).Value Then Sheet1.Range("C" & o).Value = p p = tot End If Next Next Application.ScreenUpdating = True End Sub

¿Cómo utilizar el código? (En caso de que sea nuevo en macro)

  1. Abra un nuevo archivo de Excel

  2. Presione Alt + F11

  3. Insertar un nuevo módulo

  4. Pegue el código en el módulo

  5. Regresa a la hoja de Excel y agrega un botón.

  6. Asigna la macro ''FindNumbers'' al botón

  7. Guarde excel en formato .xlsm si está usando excel 2007 o 2010

  8. Ayuda

  9. Columna A: ingrese sus datos en la columna A y haga clic en el botón o ejecute la macro

  10. Presiona el botón o ejecuta la macro

Tu resultado será así.

Columna B: Números que son únicos en los datos ingresados ​​en la Columna A

Columna C: Primera aparición de datos

Columna D: Última aparición de datos

Tengo A columna que tiene valores en orden aleatorio como

A column 2 3 4 2 5 6 4 3 4

Quiero el índice de fila de un número particular que ocurrió primero. Di que si digo que el número es 4, el valor devuelto debería ser 3

También quiero que el índice de fila de un número particular que se produjo la última vez. Si digo que el número es 3, el valor devuelto debe ser 8

Estaba pensando que Vlookup o la función de find debe hacer la tarea pero no puedo ponerlos en orden. Por favor, ayúdenme con estos


Mis ejemplos buscan el número 3 pero es fácil de adaptar.

Para encontrar la primera ocurrencia, puedes usar:

=MATCH(3,A:A,0)

Para encontrar el último, puede usar una fórmula de matriz (validar con Ctrl + Shift + Enter )

{=MAX(IF(A1:A10=3,ROW(A1:A10),0))}

Tenga en cuenta que también podría haber utilizado una fórmula matricial para la primera con un MIN pero sería bastante complicado por su valor.