
Tengo datos como:
necesito localizar(obtener números de fila)para celdas que comienzan con la letraA.
Mi enfoque actual es utilizar una columna "ayudante". EnB1Yo entro:
=IF(LEFT(A1)="A",1,"")
y enB2Yo entro:
=IF(LEFT(A2)="A",MAX($B$1:B1)+1,"")
y copie. Esto identifica las filas de interés. Finalmente enC1Yo suelo:
=IFERROR(MATCH(ROWS($1:1),$B$1:$B$23,0),"")
y copie.
Mi objetivo es eliminar la columna "ayudante".
Las únicas dos opciones que veo son:
- usar un autofiltro
- usar un VBAUDF
El enfoque del filtro automático es malo porque el filtro tendría que volver a ejecutarse cada vez que se actualicen los datos. ElUDFenfoque malo porque la hoja debe funcionar en un entorno libre de VBA.
¿Existe algún tipo de fórmula o fórmula matricial que pueda obtener los números de fila o estoy atascado con la columna "ayudante"?
Respuesta1
Pruebe esto ingresado como una fórmula matricial con Ctrl+ Shift+ Enter:
{=SMALL(IF(LEFT($A$1:$A$23)="A",ROW($A$1:$A$23),9E+99),ROW())}
Sin embargo, supongo que su criterio es más complicado que este en su aplicación real. Puede reemplazarlo LEFT($A$1:$A$23)="A"
con cualquier criterio que desee y seguirá funcionando.
Tenga en cuenta que esto volverá 9E+99
si lo copia para más filas de las que comienzan con "A". Podrías modificarlo para que vuelva en blanco:
{=IFERROR(SMALL(IF(LEFT($A$1:$A$14)="A",ROW($A$1:$A$14),""),ROW()),"")}
Respuesta2
Pruebe esto:
ponga 0 en C1.
De C2: =match(indirect("a"&c1+1&":a<last row>",true),"a*",0)+C1
Notas: La coincidencia no distingue entre mayúsculas y minúsculas. Debe gestionar los errores después de preguntar si se encuentran coincidencias.