
No.3ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。通常、関数は値しか扱えません。つまり、フォント色やセル背景色などの書式
を関数で扱うことはできません。では、どうするか? 方法は2つあります。
1. 4.0マクロ関数を使う
このカテゴリー内で GET.CELL で検索すると過去に類似の質問があります。
参考にして下さい。
2. マクロ(VBA)を使う
フォント色で集計を行うツールを作ってみました。お試し下さい。
【手順】
1)[Alt]+[F11]で Visual Basic Editor (以下 VBE )を起動
2)[挿入]-[標準モジュール]
3)2)で開いたスペースに以下のコードをコピー&ペースト
4)VBE を閉じる
【使い方】
[ツール]-[マクロ]-[マクロ]で実行
'以下コードです。
Sub フォント色別に数値集計()
Dim rngTARGET As Range
Dim rngTEMP As Range
Dim DIC As Dictionary
Dim rngCELL As Range
Dim lngC_IDX As Long
Dim dblNUM As Double
Dim vntKEY As Variant
Dim i As Long
'ユーザーに集計範囲を指定してもらう
If TypeName(Selection) = "Range" Then
Set rngTEMP = Selection
Else
Set rngTEMP = ActiveCell
End If
On Error Resume Next
Set rngTARGET = Application.InputBox( _
Prompt:="フォント色別に数値を集計します。" _
& vbCrLf & "集計範囲をマウスで選択して下さい。", _
Title:="集計範囲の選択", _
Default:=rngTEMP.Address, _
Type:=8)
Set rngTEMP = Nothing
If rngTARGET Is Nothing Then Exit Sub
On Error GoTo 0
'フォント色別に集計開始
Set DIC = CreateObject("Scripting.Dictionary")
For Each rngCELL In rngTARGET
With rngCELL
If .Value <> "" And IsNumeric(.Value) Then
lngC_IDX = .Font.ColorIndex
If Not DIC.Exists(lngC_IDX) Then
DIC.Add Key:=lngC_IDX, Item:=.Value
Else
dblNUM = .Value + DIC.Item(lngC_IDX)
DIC.Item(lngC_IDX) = dblNUM
End If
End If
End With
Next rngCELL
'結果出力
On Error Resume Next
Set rngTARGET = Application.InputBox( _
Prompt:="集計が終了しました。結果の貼り付け先を指定して下さい", _
Title:="結果出力", _
Type:=8)
If Not rngTARGET Is Nothing Then
Set rngTARGET = rngTARGET.Cells(1, 1)
i = 0
Application.ScreenUpdating = False
For Each vntKEY In DIC.Keys
With rngTARGET
With .Offset(i, 0)
.Font.ColorIndex = vntKEY
.Value = "FONT COLOR:= " & vntKEY
End With
.Offset(i, 1).Value = CDbl(DIC.Item(vntKEY))
End With
i = i + 1
Next vntKEY
End If
Terminate:
On Error GoTo 0
Application.ScreenUpdating = True
Set rngTARGET = Nothing
Set DIC = Nothing
End Sub
No.4
- 回答日時:
#3 です。
すみません。#3 のコードで、Dim DIC As Dictionary
を
Dim DIC As Object
に差し替えて下さい。次のような感じになります。
Sub フォント色別に数値集計()
Dim rngTARGET As Range
Dim rngTEMP As Range
Dim DIC As Object
以下 略
開発時のなごりです、、気にしないで下さい。
すごい!!できました。ありがとうございます。
感激です!!
これから計算がとっても楽になります。
本当に本当にありがとうございました。
No.2
- 回答日時:
えーっとひょっとして、#1の人が言うのと違って、データが、A社のものなのかB社のものなのか色でしか判別できないってことですか?
だったら多分マクロを使わないと無理です。
大体、そういう形式だとしたら、入力も非常に面倒だと思いますので、この機会に、#1さんの言っているような形にすることをお勧めします。
私の記憶の範囲内では、セルに設定されているフォントの色のデータを取得できる関数はなかったと思います。
マクロを組むなら比較的簡単なマクロで実現できますがやってみますか?
あと、ひょっとしたら、4.0マクロ関数ってやつに何かあるかもしれません。これについては、私の知識を超えていますので、どなたかエキスパートの方よろしくお願いします。
ありがとうございます。おっしゃるとおりです。色だけの区別です。面倒なのですが、いろいろと使い続ける理由がありまして。。。
フォントの色のデータを取得できる関数はないとのことですので、関数で計算させるのは無理なのでしょうね。。。
マクロを組むというのは考えておりませんでした。
私には難しいかもしれませんが、勉強してみます。ありがとうございます。
No.1
- 回答日時:
A社とB社とで、文字の色を変えているのでしたら、
素直にSum関数+If関数+配列で、A社、B社で条件指定して合計をとれば良いのではないでしょうか?
例)
会社名 売上
A10
B15
B20
A15
A10
B15
A社合計:{=SUM(IF(A2:A7="A",B2:B7))}
B社合計:{=SUM(IF(A2:A7="B",B2:B7))}
あと、蛇足ですが文字の色分けも条件付き書式を利用されても良いかと思います。
ありがとうございます。
A社、B社とわけて入力しているわけではなく、A社の売上げは赤色文字、B社の売上げは青色文字としているので、うまくいかないんです。
おっしゃっているような表の作り方であれば簡単にできるのですよね。。。作り変えたいのはやまやまなのですが、社から渡されている管理フォームなので勝手に変えられないので困ってます。
でも、勉強になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- 財務・会計・経理 【仕訳】集計されて引かれる販売手数料について 5 2023/04/26 15:32
- Excel(エクセル) エクセルで、未来の月の数値を表示させないようにしたい 1 2022/05/07 18:58
- その他(パソコン・周辺機器) エクセルとスプレッドシートの答えが合わない 3 2023/04/27 17:56
- ドライブ・ストレージ 「3は「1+1+1」です。」とコンピュータが認識する用語って何ですか? 2 2022/07/17 02:33
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- 減税・節税 消費税について 4 2023/02/20 13:45
- 高校 数学A組み合わせの考え方 3 2022/04/19 09:05
- Excel(エクセル) 最後の12個の修正平均を算出したい。 3 2022/04/30 18:24
このQ&Aを見た人はこんなQ&Aも見ています
-
文字(数字)色別に計算するには?
Excel(エクセル)
-
エクセル表で数字の色別合計は可能ですか
Excel(エクセル)
-
Excelで任意の塗りつぶし色の数字を集計する方法はありますか?関数を使ってできる方法があれば教えて
Excel(エクセル)
-
-
4
エクセル関数使用で赤色数字をカウントしたい
Windows Vista・XP
-
5
赤字と青字だけ合計する
Excel(エクセル)
-
6
COUNTIF セルに色を塗るとカウントされないようにするには?
Excel(エクセル)
-
7
エクセルで文字色がついているセル数をカウント
Windows Vista・XP
-
8
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
9
色が付いたセルの合計を出したいのですが…
Excel(エクセル)
-
10
excelのCOUNTIF関数で、『範囲=色のついたセル』に設定したいです。
Excel(エクセル)
-
11
Excel 書式を関数で判断。
Excel(エクセル)
-
12
セルの個数から色付きセルを引き算したいです。
Excel(エクセル)
-
13
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
ピボットテーブルでは時間の表...
-
VBAで重複する項目を1つにまと...
-
フィルタをしても最下行を常に...
-
エクセル、リソース不足エラー...
-
エクセルで特定の色の数字だけ...
-
ピボットを更新すると数式が入...
-
エクセルのピボットテーブル内...
-
アンケートの集計
-
ピボットの集計方法「合計」初...
-
Excel : 二通りの合計が合わな...
-
Excelの集計結果だけをコピー貼...
-
excelで集計の合計を降順に並べ...
-
オートフィルタ で抽出した結果...
-
エクセル 関数を使った横方向の...
-
VLOOKUP関数とCOUNT関数等の組...
-
EXCELピボットテーブル関数につ...
-
エクセルで円グラフに引き出し...
-
エクセルで文字が白くなる
-
エクセルで長い行を5行ごとに1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】オートフィルタで...
-
フィルタをしても最下行を常に...
-
ピボットテーブルでは時間の表...
-
VBAで重複する項目を1つにまと...
-
エクセルで特定の色の数字だけ...
-
エクセル、リソース不足エラー...
-
ピボットを更新すると数式が入...
-
ピボットテーブルのページエリ...
-
ピボットの集計方法「合計」初...
-
いい機能だけど、毎回めんどく...
-
エクセル 関数を使った横方向の...
-
アンケートの集計
-
excelで集計の合計を降順に並べ...
-
ピボットテーブルで同じデータ...
-
複数のピボットテーブルを一括...
-
Excel : 二通りの合計が合わな...
-
EXCEL 重複データの集計の仕方
-
Excelの集計結果だけをコピー貼...
-
エクセルの小計を自動的に色づ...
-
こういう管理ソフトはないでし...
おすすめ情報