Pregunta filtrar la lista de Excel por fórmula en lugar de valores


Si tengo una columna en Excel, con las siguientes fórmulas, ¿sería posible filtrarla? En este caso, los valores son todos 7, pero ¿podría filtrar por la fórmula explícita?

=2+7
=3+4
=2+7
7
=1+6
7
=2+7
=8-1
=ROUND(SQRT(52),0)

En mi ejemplo del mundo real, tengo una lista con una variedad de fórmulas en las que quiero filtrar. Esta es solo una forma simple de ilustrar el objetivo.

Gente del futuro: si tiene el mismo problema y no hay solución en los comentarios, una solución es resaltar la columna y Buscar y reemplazar "=" con un carácter o cadena no utilizada (uso "~ # # | ") y luego de que todo haya terminado, reemplace nuevamente. Es incómodo, pero funciona


0


origen


Incierto, ¿qué estás preguntando, qué filtro necesitas? Si aplica el filtro, puede seleccionar todos los "7" datos - Bilo
Quiero filtrar por la fórmula explícita, no el valor resultante "= 1 + 6" debe ser un elemento separado que "= 1 + 7" - Some_Guy
Para que quede claro, quiere ordenar por el primer fletador después del "=" - Tom Ruh
Si no desea que Excel los trate como una fórmula, siempre puede insertar un ' antes de = - Bilo
Podría tener una columna adicional que tenga las mismas fórmulas formateadas como texto y luego ordenar por esa columna - Eric F


Respuestas:


Aquí hay una solución usando VBA. Estoy seguro de que esta no es la solución más eficiente, pero puede ser un punto de partida para algo más elocuente.

Agrega un 'a cada celda

Sub MarkUp()

Dim aCell As Range For Each aCell In Selection
       aCell = "'" & aCell.Formula

     Next

End Sub

Ordena el rango

Private Sub Sort()

Dim aRange As Range
 Dim aCell As Range

Set aRange = Selection
 Set aCell = ActiveCell

 aRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlGuess

End Sub

Limpia

Private Sub CleanUp()

Dim aCell As Range For Each aCell In Selection
      aCell = WorksheetFunction.Substitute(aCell, "'", "")

    Next

End Sub

Y

Sub SortFormulas()

MarkUp
Sort
CleanUp

End Sub

0