エクセルではExcel関数だけでなく、VBA(Visual Basic for Applications)を利用したマクロを機能させることで、より多くの作業ができるようになります。例えば、セルの文字色を条件とするカウントは、Excelの標準関数では数え上げることができないため、VBAを利用すればカウントすることができます。
難しく感じるかもしれませんが、今回の記事でコードをコピー&ペーストで実装できるようにしていますので、ぜひ試してみてください。
「フォントが赤色のセルをカウントしたい」という場合には、Excel標準関数ではカウントすることができません。VBAを使えば、以下の手順でカウントすることができます。
(1)エクセルを開いた状態で、「Alt + F11」キーを同時に押し、VBAウィンドウを表示します。
(2)「VBAProject(エクセルファイル名)」を右クリック>「挿入」>「標準モジュール」を選択します。
(3)下記のVBAのコードを入力します。
Public Function CountColor(ByVal area As Range, ByVal colorCell As Range) As Long
Dim targetRange As Range
Dim wkCount As Long
wkCount = 0
For Each targetRange In area
If targetRange.Font.Color = colorCell.Font.Color Then
wkCount = wkCount + 1
End If
Next
CountColor = wkCount
End Function
(1)「=CountColor(検索範囲,検索文字色セル)」を入力します。
「検索文字色セル」には、検索したい対象の文字色と同じ文字色のセルを指定します。
今回の画像の例であれば、黒字の場合は「A6」セル、赤字の場合は「B6」セル、青字の場合は「C6」セルですね。
セルの文字色情報を読み取り、その情報を元に検索範囲内の同一文字色のセルをカウントします。
検索範囲の文字色を変更した場合、自動的にカウント結果に反映されません。
その場合は、計算セルをダブルクリックし、Enterを入力します。そうすることで再度処理が実行され、カウント結果が更新されます。
また、ファイルを保存する場合は、作成したコードごと保存できる「.xlsm」形式で保存してください。通常の「.xlsx」形式では、VBAコードが保存されないため、「CountColor」関数が使えなくなります。
上部のリボンに「開発」タブを追加することでより、スムーズにVBAを使用することができます。
(1)上部にあるリボンから「ファイル」を選択します。
(2)「オプション」を選択します。
(3)「リボンのユーザー設定」を選択し、右側の「開発」にチェックを入れます。
(4)「開発」タブが表示されることを確認します。
VBAのコードを記述することで、Excelの標準関数ではできないフォントの文字色別のカウントなどができるようになります。コードを記述する、と聞くと難しそうに思えますが、コピー&ペーストでも実装できるため、ぜひ試してみてくださいね。
(学生の窓口編集部)
2021/01/28
2021/01/25
2021/01/22
2021/01/21
出勤でも!リモートでも!It Smart 社会人な着回しランキング
[PR]2021/01/18