Localice celdas con un criterio simple

Localice celdas con un criterio simple

Tengo datos como:

ingrese la descripción de la imagen aquí

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.

ingrese la descripción de la imagen aquí

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+99si 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.

información relacionada