メインコンテンツへスキップ

Excelで取り消し線付きのセルをカウント/合計するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-07-21

Excelでは、データを古くなったり、関連性がなかったり、無効であることを示すために、特定のセルに取り消し線の書式設定を適用することが一般的です。この視覚的な手がかりは、データ管理を大幅に改善し、分析中に重要な情報に集中するのに役立ちます。しかし、カウントや合計などの計算を行う場合、取り消し線付きのセルと取り消し線なしのセルを区別して結果を得たい場合があります。これらのシナリオに対処する方法を理解することで、ワークフローを合理化し、より正確な洞察を得ることができます。この記事では、さまざまなデータ管理ニーズに柔軟性を提供するカスタマイズ可能なVBA関数を使用して、Excelで取り消し線付きまたは取り消し線なしのセルをカウントおよび合計するためのいくつかの実用的な方法を提供します。

ExcelでVBAを使用して取り消し線付きのセルをカウントする

ExcelでVBAを使用して取り消し線なしのセルをカウントする

ExcelでVBAを使用して取り消し線付きのセルを除外して合計する

Kutools for Excelを使用して取り消し線付きのセルをカウントまたは合計する


Excelで取り消し線付きのセルをカウントする

特定の範囲内で取り消し線の書式設定が適用されたセルの総数を確認する必要がある場合、これはExcelの組み込み関数では直接達成できません。取り消し線のようなテキスト書式を認識する数式がないからです。したがって、VBAでユーザー定義関数(UDF)を使用することが実用的な解決策となります。このアプローチは、タスクリスト、在庫更新、または取り消し線が完了、無効、または古いデータ点を示すあらゆるシナリオにおいて特に有用です。

1. ALT + F11キーを押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

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を確認したい他の範囲に変更できます。

count strikethrough cells with user defined function

4. Enterキーを押して数式を実行すると、Excelは指定された範囲内のすべての取り消し線付きセルの数をすぐに表示します。これにより、進捗状況を効率的に追跡したり、不要になった項目を削除したりすることができます。スクリーンショットをご覧ください:

count strikethrough cells result

注意: この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は選択範囲内での取り消し線の書式設定がされていないセルのみをカウントします。

count non strikethrough cells with user defined function

注意: 上記の例では、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は指定された範囲内の取り消し線の書式設定が ない セルのみを合計し、古い値を除外した合計を即座に提供します。

sum non strikethrough cells with user defined function

注意: B2:B14を実際のデータ範囲に調整してください。この関数は取り消し線付きのセルを無視し、その値に関係なく機能します。予期しない結果が出た場合は、すべてのセルに数値が入力され、正しい書式設定がされていることを確認してください。

実践的なヒント: セルの取り消し線ステータスを変更した後に合計を更新する必要がある場合、F9を押してワークシートを再計算してください。


Kutools for Excelを使用して取り消し線付きのセルをカウントまたは合計する

取り消し線の書式設定がされているセルのみをカウントまたは合計したい場合、Excelにはそれを実現するための組み込み方法はありませんが、Kutools for Excel特殊フィルター機能を使えば簡単に可能です。

1. 列を選択する

取り消し線の書式設定がされたセルを含む列をクリックします。

2. 特殊フィルターを開く

Kutools Plusタブに移動し、特殊フィルター > 取り消し線のあるセルをフィルタリングをクリックします。

3. フィルターを確認する

条件に一致するセルの数を示すダイアログボックスが表示されます。OKをクリックして続行します。

kutools-filter-result

4. 結果を見る

取り消し線付きのセルがフィルタリングされ、表示されます。フィルタリングされた範囲を選択すると、Excelの下部にあるステータスバーに合計、平均、カウントがすぐに表示されます。

kutools-count-sum

✨ Kutoolsを使う理由は?

Kutools for Excelは、この機能のように、複雑な数式やVBAコードを書かずに時間短縮と生産性向上を支援する強力で使いやすい300以上の機能を提供します。

書式によるフィルタリング、データのクリーンアップ、シートの結合、バッチ編集など、Kutoolsはわずか数秒であなたの作業を簡素化します。

👉 Kutools for Excelを30日間無料でお試しいただき、これまで見逃していた機能を探求してください!


関連記事:

Excelで太字の数字を範囲内のセルで合計/カウントするにはどうすればよいですか?

Excelで背景色に基づいてセルをカウントおよび合計するにはどうすればよいですか?

Excelでフォントの色に基づいてセルをカウント/合計するにはどうすればよいですか?

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!