
Excelでデータ整理やチェック作業をしているとき、「取り消し線が付いたセルだけを抽出したい」という場面がありますよね。
しかし、通常の検索(Ctrl + F)では取り消し線は検索対象になりません。
この記事では、
- 取り消し線付きセルをフィルターで抽出する方法
- ユーザー定義書式を使った判別方法
- 条件付き書式で付いた取り消し線のルール確認方法
など、実用的な手順を紹介します。
目次
1. 通常の検索(Ctrl + F)では検出できない理由
取り消し線は「書式情報」の一種であり、Excelの標準検索では対象外です。
そのため、検索ダイアログでテキストを指定しても、取り消し線の有無ではフィルターできません。
2. 書式を使ってフィルター抽出する方法
手順:ユーザー定義フィルター(表示形式)を活用
- 抽出対象の列にフィルターをかける
→ [データ]→[フィルター] - フィルターの「▼」をクリック
- 「ユーザー設定のフィルター」を選ぶ
- 「書式」→「セルから書式を選択」ボタンをクリック
- 取り消し線付きのセルをクリック
- [OK]で実行 → 取り消し線が付いたセルのみ抽出される
この方法は「直接書式で取り消し線を付けたセル」に有効です。
注意点:条件付き書式で付いた取り消し線には使えない
条件付き書式によって取り消し線が表示されているセルは、見た目だけで、実際の書式には適用されていません。
この場合は、ルール自体を確認する必要があります。
3. 条件付き書式のルールを確認する方法
- 該当セルを選択
- [ホーム]→[条件付き書式]→[ルールの管理]
- 該当ルールの「書式」をクリックして、取り消し線が指定されているかを確認
例:「値が”完了”のとき、取り消し線を表示」など
ルールを使って他のセルに応用する場合
- 「数式を使用して書式を設定」ルールを活用すると、任意の条件で取り消し線を表示できます。
- 検索・フィルターをしやすくするには「別の列に状態を表示」し、それでフィルターするのも効果的です。
補足:マクロやVBAでの抽出も可能(中級向け)

下記のようなVBAコードで「取り消し線付きセルのみ」をリストアップすることも可能です
Sub ListAllStrikethroughCells()
Dim cell As Range
Dim result As String
For Each cell In Selection
If cell.Font.Strikethrough = True Then
result = result & cell.Address & " : " & cell.Value & vbCrLf
End If
Next cell
If result <> "" Then
MsgBox "取り消し線付きセル一覧:" & vbCrLf & result
Else
MsgBox "取り消し線付きセルは見つかりませんでした"
End If
End Sub
→ 実行結果は「ウィンドウ」に表示されます。VBAの知識があれば応用可能です。
まとめ
やりたいこと | 方法 |
---|---|
直接取り消し線を検索したい | ユーザー定義フィルター → 書式から選択 |
条件付き書式で表示されている | ルールを確認する必要あり(抽出は不可) |
自動処理したい | VBAコードで判別・一覧化が可能 |
通常の検索でできる? | × 無効(書式は対象外) |
コメント
※ コメントは確認後に公開されます。反映まで少し時間がかかる場合があります。