赤い文字のセルだけ合計したい (e1k)
ユーザー関数を作成て赤い文字のセルだけ合計する方法を説明します
エクセルで標準でできると良いのですが、残念ながら関数がありません。
ユーザー関数を作成すると実現することができます
(1) VBEの世界へ
- [Excel20007]
-
-
[Office]ボタン→一番下の右側にある[Excelのオプション(I)]を選択します
-
左側の一番上の[基本設定]をクリックします
-
[Excel の使用に関する基本オプション]→[開発 タブをリボンに表示する(D)]にチェックを入れます
-
開発 タブが表示されます、詳しくはこちら→
開発タブ
-
[開発]タブ → [コード]グループ → [VisualBasicEditor] を選択します
-
これでVBEの世界に入ります
-
[挿入(I)]メニュー → [標準モジュール(M)] を選択します
-
これで新しい標準モジュールができます
- [Excel2000...Excel2003]
-
-
[ツール]メニュー(T) → [マクロ(M)] → [VisualBasicEditor(V)] を選択します
-
これでVBEの世界に入ります
-
[挿入]メニュー(I) → [標準モジュール(M)]を選択します
-
これで新しい標準モジュールができます
(2) 標準モジュール側に貼り付け
下記のユーザー関数を選択してコピーして、標準モジュール側にペーストします
Function FCS(adrs, clr)
sm = 0
For Each ad In adrs
fci = ad.Font.ColorIndex
cv = ad.Value
If fci = clr Then
sm = sm + cv
End If
Next
FCS = sm
End Function
-
太字のFont.ColorIndex が 文字の色 を判断している部分です
-
太字の部分をInterior.ColorIndex に変更すると セルの塗りつぶしの色 の判断に変更できます
(3) ワークシート側
-
ワークシート側で下図のようにA1からB5にデータを準備します
-
セルB6 に =FCS(B1:B5,3) と入力します
-
B1:B5 は合計を求める範囲で、 3 は赤色の意味です
-
これでユーザー関数FCSが働き、赤い色のデータだけが加算されます
-
ここが数式バー
(4) ワークブック 保存
-
Excel2007 以降は ブックを「マクロ有効ブック xlsm」で保存します
注意
-
この関数では関数を入力した あとで 文字を赤く変更しても、エクセルが
再計算が必要だと判断しません
-
[F9]キーで再計算するか、データ側か関数側を数式バーに表示させて
クリックしてから、[return]キーを押してやる必要があります
関連ページ
更新 2024/04/07、登録 2003/05/22、訪問者