filtrer la liste Excel par une formule au lieu de valeurs

0

Si j'ai une colonne dans Excel, avec les formules suivantes, serait-il possible de la filtrer? Dans ce cas, les valeurs sont toutes égales à 7, mais pourrais-je filtrer selon la formule explicite?

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

Dans mon exemple concret, j'ai une liste de formules que je souhaite filtrer. Ceci est juste un moyen simple d'illustrer l'objectif.

Gens du futur: si vous rencontrez le même problème et qu'il n'y a pas de solution dans les commentaires, une solution de contournement consiste à mettre en surbrillance la colonne et à rechercher et remplacer "=" par un caractère ou une chaîne inutilisée (j'utilise "~ # | ") et puis, après tout, remplacez. C'est maladroit, mais ça marche

Some_Guy
la source
Vous ne savez pas ce que vous demandez, de quel filtrage avez-vous besoin? Si vous appliquez le filtre, vous pouvez sélectionner toutes les données "7"
Bilo
Je veux filtrer par la formule explicite, pas la valeur résultante "= 1 + 6" devrait être un élément distinct de "= 1 + 7"
Some_Guy
Pour être clair, vous voulez trier par le premier affréteur après le "="
Tom Ruh
Si vous ne voulez pas que Excel traite ces formules comme une formule, vous pouvez toujours insérer un ' avant =
Bilo
1
Vous pouvez avoir une colonne supplémentaire contenant les mêmes formules au format texte, puis trier par cette colonne.
Eric F

Réponses:

0

Voici une solution utilisant VBA. Je suis sûr que ce n’est pas la solution la plus efficace, mais peut constituer un point de départ pour quelque chose de plus éloquent.

Ajoute un 'à chaque cellule

Sub MarkUp()

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

     Next

End Sub

Trie la gamme

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

Nettoie

Private Sub CleanUp()

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

    Next

End Sub

Et

Sub SortFormulas()

MarkUp
Sort
CleanUp

End Sub
Tom Ruh
la source