Excel で取り消し線付きのセルをカウントしたり合計したりする方法は?
Excel では、データが古くなったり、関連性を失ったり、無効になったことを示すために、特定のセルに取り消し線の書式を適用することがよくあります。この視覚的な手がかりはデータ管理を大幅に改善し、分析時に重要な情報に集中するのに役立ちます。しかし、カウントや合計などの計算を行う際には、取り消し線付きのセルとそうでないセルを区別して扱いたい場合があります。こうしたニーズに対応できるようになることで、ワークフローが効率化され、より正確なインサイトを得られるようになります。本記事では、さまざまなデータ管理要件に柔軟に対応できるカスタマイズ可能な VBA 関数を使い、Excel で取り消し線付き(またはなし)のセルをカウント・合計する実用的な方法をいくつかご紹介します。
Excel で VBA を使用して取り消し線付きセルをカウントする
Excel で VBA を使用して取り消し線なしのセルをカウントする
Excel で VBA を使用して取り消し線付きセルを除外して合計する
Kutools for Excel を使用して取り消し線付きセルをカウントまたは合計する
Excel で取り消し線付きセルをカウントする
特定の範囲内で取り消し線の書式が設定されたセルの総数を調べる必要がある場合、Excel には取り消し線などのテキスト書式を認識する数式が存在しないため、組み込み関数では直接実現できません。そのため、VBA でユーザー定義関数(UDF)を使用するのが実用的な解決策です。このアプローチは、ToDo リストや在庫更新など、完了済み・無効・廃止されたデータを示すために取り消し線を使うシナリオで特に有効です。
1.F11キーとMicrosoft Visual Basic for Applicationsウィンドウを開くには、[[ALT]]キーを同時に押します。
2.VBA ウィンドウで、挿入>標準モジュールをクリックして新しいモジュールを作成し、次のコードをモジュールウィンドウに貼り付けてください。
VBA コード:取り消し線付きセルをカウントする
Public Function CountStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
If pRng.Font.Strikethrough Then
xOut = xOut + 1
End If
Next
CountStrike = xOut
End Function
3.コードを入力したら、マクロを保持するためにブックを保存し、VBA エディターを閉じてワークシートに戻ります。取り消し線付きセルの数を表示したい空白セルに、次の数式を入力してください(例:範囲)A2:B14 内の取り消し線付きセルをチェックする場合):=CountStrike(A2:B14)
ヒント:チェックしたい他の範囲に合わせて、A2:B14を変更できます。

4.Enterキーを押して数式を実行すると、Excel は制限された範囲内の取り消し線付きセルを即座にカウントし、その件数を表示します。これにより、進捗状況を効率的に追跡したり、不要なエントリをサッと削除したりできます。スクリーンショットをご覧ください:

注意:今後もこの VBA コードを引き続きご利用いただくには、ファイルを.xlsm(Excel マクロ有効ブック)形式で保存してください。
Excel で取り消し線なしのセルをカウントする
指定した範囲内で取り消し線の書式がないセルだけをカウントしたい場合があります。たとえば、プロジェクト管理表や売上データでは、取り消し線のないアクティブ/有効なエントリのみをカウントして、さらに処理を進めたいことがよくあります。Excel の標準的な COUNT 関数や COUNTA 関数はテキストの書式を無視するため、こうした要望にはカスタマイズされた VBA ソリューションが正確な制御を実現します。
1.ALT + F11を押して、Microsoft Visual Basic for Applicationsウィンドウを起動します。
2.挿入>標準モジュールをクリックして新しいコードモジュールを追加し、次のコードをそのモジュールウィンドウに貼り付けてください。
VBA コード:取り消し線なしのセルをカウントする
Public Function CountNoStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
If Not pRng.Font.Strikethrough Then
xOut = xOut + 1
End If
Next
CountNoStrike = xOut
End Function
3.マクロ有効ブックを保存してワークシートに戻り、空白セルに次の数式を入力します(例:A2:B14の場合):=countnostrike(A2:B14)。その後、Enterを押すと、結果が表示されます。Excel は、指定された範囲内で取り消し線の書式が設定されていないセルのみをカウントします。

注:上記の例では、A2:B14が評価対象のセル範囲です。ワークシートに応じて範囲参照を適宜調整してください。また、結合セルや特殊な書式が結果に影響を及ぼす可能性があるため、範囲内に意図したセルのみが含まれているか、再度ご確認ください。
Excel で取り消し線付きセルを除外して合計する
取り消し線の書式が適用された数値データは、もはやアクティブでなかったり、無視すべきものであることが多いため、有効な数値のみを合計することが重要となる場面はよくあります。このようなケースは、予算シートや在庫管理、タスク管理などで特に一般的です。取り消し線付きのエントリは、廃止済みまたは完了済みの項目を示しており、合計から除外する必要があります。しかし、Excel の標準的な SUM 関数は書式設定を考慮しないため、こうした処理にはユーザー定義の VBA 関数が必要です。
1.ALT + F11を押して、Microsoft Visual Basic for Applicationsエディターを開きます。
2.挿入>標準モジュールをクリックしてモジュールを追加し、以下のコードをモジュールウィンドウに貼り付けてください。
VBA コード:取り消し線付きセルを除外して合計する
Public Function ExcStrike(pWorkRng As Range) As Long
'Update 20140819
Application.Volatile
Dim pRng As Range
Dim xOut As Long
xOut = 0
For Each pRng In pWorkRng
If Not pRng.Font.Strikethrough Then
xOut = xOut + pRng.Value
End If
Next
ExcStrike = xOut
End Function
3.VBA エディターを保存して閉じます。対象のワークシートで空白セルを選択し、次の数式を入力します(例:B2:B14の場合):=excstrike(B2:B14)。Enterを押すと、Excel は指定範囲内で取り消し線の書式がないセルのみを合計し、廃止された値を除外した合計を即座に表示します。

注:実際のデータ範囲に合わせてB2:B14を調整してください。この関数は、値に関係なく取り消し線付きのセルを自動的に無視します。予期しない結果が表示された場合は、すべてのセルに数値が正しく入力され、適切な書式が適用されていることをご確認ください。
実用的なヒント:セルの取り消し線ステータスを変更した後、集計を更新する必要がある場合は、F9を押してワークシートを再計算してください。
Kutools for Excel を使用して取り消し線付きセルをカウントまたは合計する
取り消し線の書式が設定されたセルのみをカウントしたり合計したりしたい場合、Excel にはそのような機能は標準で搭載されていませんが、Kutools for Excelの特殊フィルタ機能を使えば、簡単に実現できます。
1.列を選択します
取り消し線付きセルを含む列をクリックします。
2.特殊フィルタを開きます
KUTOOLS PLUSタブに移動し、特殊フィルタ>取り消し線のあるセルをフィルタリングをクリックしてください。

3.フィルターを確定します
条件に一致するセルの数を示すダイアログボックスが表示されます。OKをクリックして続行してください。

4.結果を確認します
取り消し線付きのセルもしっかりフィルターされ、表示されるようになりました!フィルタリング範囲を選択すると、Excel のステータスバー下部に、合計・平均・件数が即座に表示されます。

✨Kutools を使う理由
Kutools for Excel には、このように強力で使いやすい機能が300 以上も搭載されており、複雑な数式や VBA コードを記述することなく、時間を節約して生産性を高めることができます。
書式でフィルターするにも、データをクリーンアップするにも、複数のシートを結合するにも、一括編集するにも、Kutools ならわずか数秒で簡単に作業が完了します。
Kutools for Excel を30 日間無料でお試しください!これまで見逃していた便利な機能を、ぜひこの機会に体験してください!
関連記事:
Excel でセル範囲内の太字の数値を合計またはカウントするには?
Excel で背景色に基づいてセルをカウント・合計するには?
Excel でフォント色に基づいてセルをカウント/合計するには?
最高の Office 業務効率化ツール
| 🤖 | KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気の機能:検索・ハイライト、または重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的関数(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|さらに多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。
Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします
- Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
- 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
- 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!
すべてのKutools アドインが、たった1 つのインストーラーで完結。
Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- 最高のお得感— 個別アドイン購入よりお得