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)
Abra un nuevo archivo de Excel
Presione Alt + F11
Insertar un nuevo módulo
Pegue el código en el módulo
Regresa a la hoja de Excel y agrega un botón.
Asigna la macro ''FindNumbers'' al botón
Guarde excel en formato .xlsm si está usando excel 2007 o 2010
Ayuda
Columna A: ingrese sus datos en la columna A y haga clic en el botón o ejecute la macro
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.