dポイントプレゼントキャンペーン実施中!

下記の様に数字があり、A2、A4の数字が手動で赤い文字に、A1、A3、A5は黒い数字のままにしてある場合、
黒い数字の合計をA6に、赤い数字の合計をA7に集計するにはどうやったらできますか?

1 55
2 45
3 35
4 25
5 15
6 □
7 ■

A 回答 (2件)

本筋は赤い文字色をつけた条件(値が何々より大きいなど)に戻って、その条件を使って=SUMIF()などで計算すべきでしょう。

なぜなら関数は文字色を判別するものはありません。赤字が、主観的や総合的評価などによるものの
場合はお手上げですが。
Cell("color",A1)と言うものがありますが、使えないようです。
あとはVBAを使って、ユーザー関数を作れば出来そうです。
(テスト済み)
ツール-マクロ-VBE-(VBE画面になって)挿入-標準モジュールででるVBEコード画面に下記をコピペ。
Function coloradd(a)
Dim cl As Range
s = 0
For Each cl In a
If cl.Font.ColorIndex = 3 Then
s = s + cl
End If
Next
coloradd = s
End Function
ワークシート上で、答えを出したいセルに
=coloradd(A1:A5)
のように入れる。
A1:A5は連続した長方形のセルに限ります。A1:A5,C1:C5
などは不可能。ついでに、=sumif()の場合も、=countif()の場合もなぜか不可能。
答えの数字も赤字にしたかったが、Function内からは不可能(VBAで制限している)。
黒字分は全体から、赤字分を引けば良い。
    • good
    • 0

作業列を使う方法ですが、


1)B1を選択、メニューから挿入→名前→定義を選択(またはCtrl + F3)、適当に名前(例えば font )と入力し、参照範囲に
 =GET.CELL(24,A1)+NOW()*0
と入力→OK。(表示された数字が文字の色番号です。0は自動選択の場合、1が表示されたら黒、3が赤です)
2)B1に =IF(A1="","",font) と入力しB5までコピー。
3)A6に=SUMIF(B1:B5,"<=1",A1:A5)、A7に=SUMIF(B1:B5,"=3",A1:A5)と入力。

以上で黒(または自動選択)と赤、それぞれの合計が出ます。
ただし注意が必要なのは、A列の文字が変更されても再計算が行われるまでB列の色番号は変更されないということです。適当なセルをダブルクリックしてEnterキーを押すか、F9キーを押すと再計算されます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!