値ではなく数式で Excel リストをフィルターする

値ではなく数式で Excel リストをフィルターする

Excel に次の数式を含む列がある場合、それをフィルタリングすることは可能ですか? この場合、値はすべて 7 ですが、明示的な数式でフィルタリングできますか?

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

実際の例では、フィルタリングしたいさまざまな数式を含むリストがあります。これは、目標を説明するための単純な方法です。

未来の皆さん: 同じ問題を抱えていて、コメントに解決策がない場合は、回避策として、列をハイライトし、「=」を検索して未使用の文字または文字列 (私は「~#|」を使用) に置き換え、すべてが終わったら元に戻します。面倒ですが、うまくいきます。

答え1

これは VBA を使用したソリューションです。これは最も効率的なソリューションではないことは確かですが、より説得力のあるソリューションの出発点になるかもしれません。

各セルに「'」を追加します

Sub MarkUp()

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

     Next

End Sub

範囲をソートする

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

クリーンアップ

Private Sub CleanUp()

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

    Next

End Sub

そして

Sub SortFormulas()

MarkUp
Sort
CleanUp

End Sub

関連情報