KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で COUNTIF 関数を使ってパーセンテージを計算するには?

著者Xiaoyang変更日

研究調査を実施し、その結果をサマリーレポートにまとめたとします。各回答者は、A、B、C の3 つの選択肢のうちいずれか1 つを選択しています。ここでは、単に各選択肢の回答件数だけでなく、各選択肢(例:A)が全回答に占める割合(パーセンテージ)も求めたいと考えています。つまり、各カテゴリに該当する回答が全体の何%を占めているかを計算したいのです。こうした分析は、アンケート集計や投票結果、品質管理におけるカウント、あるいはカテゴリ別データ分布が重要なあらゆる場面で頻繁に必要とされます。本記事では、指定範囲内での特定の選択肢のパーセンテージを計算するための実用的な手法をいくつか紹介し、レポートやダッシュボード向けにデータをよりわかりやすく解釈・提示できるようにします。

範囲内の特定のオプションの割合


数式で COUNTIF を使用して特定の値のパーセンテージを計算する

COUNTIF 関数とCOUNTA 関数を組み合わせれば、Excel のデータ範囲内で特定の値が占めるパーセンテージを簡単に計算できます。サンプルデータのように、各選択肢の割合を瞬時に算出することが可能です!

手順1: 対象セル(例:E2)に次の数式を入力します:

=COUNTIF($B$2:$B$16,D2)/COUNTA($B$2:$B$16)

この数式は、D2セルの値がB2:B16 範囲内に何回出現するかをカウントし、その結果をその範囲内の空白でないセルの総数で割ることで、割合を表す小数値を算出します。B2:B16が実際のデータ範囲と一致していること、およびD2セルに分析対象の特定の値(例:「A」「B」「C」など)が含まれていることをご確認ください。

セルに入力された数式

手順2:Enterキーを押して結果を表示します。パーセンテージ形式で表示するには、数式を含むセルを選択し、ホームタブに移動して、リボン上のパーセントスタイルボタンをクリックしてください。

リボン上のパーセントスタイルボタン

手順3: 他のセルにもこの計算を適用するには、フィルハンドルを下にドラッグしてください。すると、列 D の各ラベルに対応したパーセンテージが自動で計算され、A、B、C などすべてのカテゴリの内訳をすぐに確認できます:

以下のセルに使用された数式とパーセントスタイル

注意点とヒント:

  • データ範囲に空白セルや無効なセルが含まれていないかご確認ください。これらはパーセンテージの正確性に影響を及ぼす可能性があります。
  • 空白セルを除外したい場合は、COUNTA 関数の使用が論理的に適切かどうか見直すか、特定の値に一致させるためにCOUNTIF 関数への置き換えを検討してください。
  • 数式をコピーしても範囲がずれないように、必ず絶対参照(例:$B$2:$B$16)をご使用ください。
  • この方法は静的なデータに最適です。一方、動的または頻繁に変更されるデータセットには、ピボットテーブルの方が適している場合があります。

注:数式中のB2:B16はソースデータの範囲を示し、D2はパーセンテージを計算したい値が入力されている参照セルです。


PivotTable を使用して件数とパーセンテージをカウントする

ピボットテーブルを使えば、Excel で各値やカテゴリの件数とパーセンテージを、最も簡単かつ柔軟に計算できます。数式は一切不要です。大規模なデータセットの要約に最適で、データを変更すると結果が自動的に更新されます。

✅ この方法が最適なのはこんなとき:定期的に更新されるデータや視覚的なサマリーが必要な場合、さらにはプレゼンテーションで素早く動的なグループ化とパーセンテージ表示を行いたいときにぴったりです。

手順1:データセット(例:A1:B16)を選択します。A/B/C などの値を含む列には、見出し(例:オプション)が必ず付いていることを確認してください。

手順2:リボンで挿入 > ピボットテーブルを選択します。ダイアログボックスでデータ範囲を確認し、ピボットテーブルを新規ワークシートまたは既存のワークシートに配置するように選択してから、OKをクリックします。

手順3:ピボットテーブルフィールドリストで:

  • オプションフィールドをエリアにドラッグしてください。
  • 同じオプションフィールドをエリアにドラッグしてください。デフォルトでは、件数が表示されます。

手順4:パーセンテージを表示するには:

  • オプションの件数の横にあるドロップダウン矢印を、エリア内でクリックします。
  • 値フィールドの設定 > 値を表示としてタブを選択します。
  • 列の合計に対する%(または)全体の合計に対する%)を選択し、OKをクリックしてください。

ヒント:

  • データを変更した後は、テーブル内の任意の場所を右クリックして、更新を選択すれば、PivotTable がすぐに最新の状態になります。
  • パーセンテージが表示されない場合は、列の合計に対する%が、値を表示としての下で正しく選択されているか再度ご確認ください。
  • 値を降順に並べ替えることで、どの選択肢が最も頻繁に出現しているかをすぐに確認できます。

メリット:高速で動的、数式不要――レポート作成に最適です。
デメリット:PivotTable 操作の基本知識が必要です。また、パーセンテージは PivotTable 内に表示され、独立した数式としては提供されません。


VBA マクロ:件数とパーセンテージを自動計算する

アンケート回答など、多数の選択肢を頻繁に分析する際は、VBA マクロを使えば各値の件数とパーセンテージを自動計算できます。これにより、数式や手作業による繰り返しが不要になり、特にデータセットが大規模であったり頻繁に更新されたりする場合に非常に便利です。

✅ 使用タイミング:大量のアンケートや調査データを扱い、自動化されたレポートが必要なパワーユーザーに最適です。マクロ対応のExcel と基本的な VBA 知識が必須です。

手順1:Alt + F11キーを押して VBA エディターを開きます。次に、挿入 > 標準モジュールを選択し、次のコードを貼り付けます:

Sub CalculateOptionPercentages()
    Dim optionRange As Range
    Dim resultRange As Range
    Dim dict As Object
    Dim cell As Range
    Dim total As Long
    Dim rowIndex As Long
    Dim key As Variant
    Dim i As Long

    Set dict = CreateObject("Scripting.Dictionary")
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set optionRange = Application.Selection
    Set optionRange = Application.InputBox("Select your data column (options)", xTitleId, optionRange.Address, Type:=8)
    
    Set resultRange = Application.InputBox("Select output starting cell for summary", xTitleId, optionRange.Cells(1, 1).Offset(0, 2).Address, Type:=8)
    On Error GoTo 0
    
    If optionRange Is Nothing Or resultRange Is Nothing Then Exit Sub
    
    total = 0
    For Each cell In optionRange
        If cell.Value <> "" Then
            If Not dict.Exists(cell.Value) Then
                dict.Add cell.Value, 1
            Else
                dict(cell.Value) = dict(cell.Value) + 1
            End If
            total = total + 1
        End If
    Next cell

    resultRange.Cells(1, 1).Value = "Option"
    resultRange.Cells(1, 2).Value = "Count"
    resultRange.Cells(1, 3).Value = "Percentage"

    rowIndex = 2
    For Each key In dict.Keys
        resultRange.Cells(rowIndex, 1).Value = key
        resultRange.Cells(rowIndex, 2).Value = dict(key)
        resultRange.Cells(rowIndex, 3).Value = dict(key) / total
        rowIndex = rowIndex + 1
    Next key

    For i = 2 To rowIndex - 1
        resultRange.Cells(i, 3).NumberFormat = "0.00%"
    Next i

    MsgBox "Summary generated successfully.", vbInformation, "KutoolsforExcel"
End Sub

ステップ 2:エディターを閉じて、Alt + F8キーを押してマクロダイアログを開きます。リストからCalculateOptionPercentagesを選択し、実行をクリックしてください。するとまず、選択肢が含まれる列(例:B2:B16)を選択するよう求められます。確定後、2 回目のプロンプトで出力の開始セルを指定するよう促されます。通常はソースデータの右側数列に設定します。両方の選択が完了すると、マクロが自動的に3 列からなる集計表を生成します。列は次のとおりです:選択肢件数、およびパーセンテージ。すべてが自動的に書式設定されます。

ヒント:

  • 出力用にデータセットの右側に十分なスペースを確保するか、別の安全な場所を選択してください。
  • 空白でない値のみがカウントされ、空白セルは無視されます。
  • データが更新されたら、マクロを再度実行するだけで、古いサマリーが自動的に上書きされます。

トラブルシューティング:

  • Excel でマクロを有効にするには、ファイル > オプション > トラストセンターから設定してください。
  • マクロを保持するには、ブックを.xlsm 形式で保存してください。

関連記事:

Excel で複数の条件を使って COUNTIF 関数を実行する方法は?

複数のワークシートにわたって特定の値を COUNTIF 関数で集計するには、どうすればよいですか?

kutools for excel ai のスクリーンショット

KUTOOLS AI でExcel の魔法を解き放ちましょう

  • スマート実行:セル操作、データ分析、チャート作成をすべてシンプルなコマンドで実現します。
  • カスタム数式:ワークフローの効率化に役立つ、あなただけのカスタマイズ数式を生成します。
  • VBA コーディング:VBA コードを簡単に記述・実装できます。
  • 数式の解釈:複雑な数式が簡単に理解できます。
  • テキスト翻訳:スプレッドシート内で言語の壁を乗り越えましょう!
AI 搭載のツールでExcel の機能をさらに強化しましょう。今すぐダウンロードして、これまでにない効率を体験してください!

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得