- 締切済み
赤字と青字だけ合計する
A1からA10までの中で「赤字」と「青字」のセルの合計だけをA11に反映させたいのですが、どのようにすればよいでしょうか? どなたかお分かりでしたら是非教えてください!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- missile_man
- ベストアンサー率29% (25/84)
はじめまして。 マクロを使用するのであれば、 以下(-----内)をコピペして下さい。 '-------------------------------------- Sub Macro1() Sheets("sheet1").Cells(11, 1) = 0 Y=0 Do Until y = 10 If Sheets("sheet1").Cells _ (1+y,1).Font.ColorIndex _ = 3 And 5 Then Sheets("sheet1").Cells(11, 1) = _ Sheets("sheet1").Cells(11, 1) + _ Sheets("sheet1").Cells(1 + y, 1) End If y = y + 1 Loop End Sub '--------------------------------------- 部分的に説明すると Sheets("sheet1").Cells(11, 1) = 0 これはセルのA11をクリア Sheets("sheet1").Cells(1+y,1).Font.ColorIndex これはセル内のフォント色 をしてます。 よく分からない場合は補足でも くださいね。
- gloomie
- ベストアンサー率16% (24/146)
エクセルはセルの書式設定などの情報でデータを処理するのは苦手です。 なので、"色"で判別するのではなく、色分けの規則性で判別させるのが望ましいです。 "どうしても"というのであればマクロならできると思いますが、 私もまだまだ勉強中でご回答できません。 赤字と青字のセルはどうやって分けられているのでしょうか? 何か規則性があればそれで判別し、合計できるのですが・・・。 (例えば0以下なら赤、0より大きければ青など) ランダムであれば色分けするより、 作業列を隣に作ってそのセルに区別できる 文字や数値を入れたりして分けた方が良いと思います。
- s_yoshi_6
- ベストアンサー率73% (1113/1519)
もし、赤字、青字になる数字が一定の規則で決められているのであれば、それを条件式の中に組み込んで数式を立てることも可能ですが、単に文字色のみを条件に使うというのであれば、とりあえず下記の方法でできます。 1)挿入→名前→定義で、名前を適当に決めて(例えば「文字色」)、参照範囲の欄に =GET.CELL(24,Sheet1!G6)+NOW()*0 と入力する 2)B列を作業列として、B1に =文字色 と入力してB10までコピー。赤文字の所には3、青文字の所には5が表示されると思います。 3)「「赤字」と「青字」のセルの合計だけをA11に反映させたい」が赤青両方合わせた合計ということであれば、 =SUMIF(B1:B10,3,A1:A10)+SUMIF(B1:B10,5,A1:A10) で良いと思います。前半が赤の合計、後半が青の合計になります。 B列は表示させたくなければ、B列右クリック→表示しないで非表示にしても良いと思います。 なお上記の数式を入力した後に、A列の文字色を変化させた場合、F9キーを押すなどして再計算しない限り、B列の数値は変化しませんので注意して下さい。 GET.CELL関数については下記を http://www.moreexcellent.com/excel/tips/color.htm 上記ページには載っていませんが、「24」は先頭文字の色を指定する引数です。 (下記「印刷されるページ総数を取得」の解説参照) http://www2.odn.ne.jp/excel/waza/print.html#SEC12
- WWolf
- ベストアンサー率26% (51/192)
VBAを使われるかどうかで変わりますが、まずはA1~A10 程度ということなので A列の赤と青のセルの隣(B列)に1を入れるそしてA11に =SUMIF(B1:B10,"=1",A1:A10) とする。