Excelで作業する際、シート上の円やその他の図形の数を数える必要がある場合があります。しかし、Excelには図形のようなオブジェクトを直接カウントする機能はありません。この記事では、Excelで円の数を数えるためのさまざまな方法を具体例とともにご紹介します。
方法1: VBAを使用して円を数える
円やその他の図形をExcelで数えるには、VBA(Visual Basic for Applications)を使用する方法があります。この方法はプログラミングの基本的な知識を必要としますが、シート上の図形の数を自動的に数えることができます。
手順:
1. VBAエディタを開く: Alt + F11
を押して、Visual Basic for Applicationsエディタを開きます。
2. 新しいモジュールを作成する: VBAエディタで「挿入」メニューから「モジュール」を選択します。
3. VBAコードを挿入する: 次のコードをモジュールにコピーして貼り付けます。
Sub CountCircles()
Dim shp As Shape
Dim circleCount As Integer
circleCount = 0
' アクティブシート上のすべての図形をループ処理
For Each shp In ActiveSheet.Shapes
' 図形が円(楕円)かどうかを確認
If shp.AutoShapeType = msoShapeOval Then
circleCount = circleCount + 1
End If
Next shp
' 円の数を表示
MsgBox "円の数: " & circleCount
End Sub
4. マクロを実行する: F5
を押すか、「CountCircles」マクロを実行して、アクティブシート上の円の数を確認します
例1: シート上の円の数を数える
- Excelシートにいくつかの円(楕円形の図形)が描かれている場合。
- マクロを挿入して実行すると、円の数が表示されます。
方法2: “AutoShapeType”プロパティを使用して図形をフィルタリングする
シート上に他の図形があり、円のみを数えたい場合は、AutoShapeType
プロパティを使用してフィルタリングする方法があります。
手順:
- 図形の種類を確認する: 各図形を手動で選択し、図形の種類(「楕円」、「長方形」など)を確認します。
- マクロでフィルタリングする: 上記のVBAコードを使用して、
msoShapeOval
の図形のみを考慮するように変更します。
例2: “AutoShapeType”プロパティを使用する
- ドキュメント内にさまざまな図形(円、四角形、三角形など)が存在する場合。
msoShapeOval
の図形のみをフィルタリングするコードを使用して、円の数を取得します。
方法3: 図形の名前を付けて手動で数える
図形の数が少ない場合は、Excelで名前を付けてグループ化する手動の方法を使用して、円の数を数えることができます。
手順:
- 各図形を手動で選択する: 「描画ツール」タブに移動し、「図形のフォーマット」から「名前を変更」をクリックして、各図形に名前を付けます。
- 「検索と選択」機能を使用して数える: 「ホーム」タブで「検索と選択」を選択し、「オブジェクトの選択」をクリックします。次に、円のみを選択します。
- 選択した図形の数を数える: 手動で選択された図形の数を数えるか、Excelのステータスバーに表示されるオブジェクトの数を使用します。
例3: 手動で円の数を数える
- Excelシートに10個の図形(円5個と四角形5個)がある場合。
- 円に「Circle1」、「Circle2」などの名前を付けます。
- 「検索と選択」を使用して、すべての円を数えます。
方法4: 円に関連するデータを数えるためのCOUNTIF関数を使用する
円や図形がセル内のデータと関連している場合(特定の値やラベルなど)、COUNTIF
関数を使用して関連するデータを数えることができます。
手順:
- 補助列を作成する: 各円に関連するセルをマークする列を使用します(例:「円」や「楕円」など)。
- COUNTIF関数を使用する:
=COUNTIF(範囲, "円")
関数を使用して、円に関連するエントリの数を数えます。
例4: COUNTIF関数を使用して関連するデータを数える
- データテーブルがあり、各オブジェクトにラベルが付けられている場合。
- 補助列を使用して、円に関連するすべての行をマークし、その後
COUNTIF
を適用して数を取得します。