エクセルで、セルに色を付け、
そのセルだけの合計を出すような
数式はあるのでしょうか?

宜しくお願い致します。

A 回答 (2件)

Excelの基本的な機能ではできないと思います。

ユーザー定義関数を作ってみました。

 =Total_Color(集計範囲,色を指定するセル1,色を指定するセル2・・・)

のように使います。集計範囲は矩形範囲のみの対応です。

例えば、集計範囲がA1:C10で、A2の色とB3の色のどちらかと同じ色のセルの合計なら
 =Total_Color(A1:C10,A2,B3) とします。

また、色の付いたセルを全て集計する場合は =Total_Color(集計範囲) とします。
色を指定するセルに『色を付けていないセル』を指定すれば色の付いていないセルを合計します。

ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュールで標準モジュールを挿入し、そこに下記コードを貼り付けます。


Public Function Total_Color(rgArea As Range, ParamArray rgColor())
  Dim rg As Range 'セル
  Dim chk As Integer '色の照合チェック
  Dim TTL As Double '合計値

  If UBound(rgColor) = -1 Then
    '集計する色を指定していない場合は、色が付いたセルをすべて集計する
    For Each rg In rgArea
      If rg.Interior.ColorIndex <> xlNone Then
        TTL = TTL + Val(rg.Value)
      End If
    Next
    Total_Color = TTL
  Else
    '色の指定がある場合
    For Each rg In rgArea
      For chk = LBound(rgColor) To UBound(rgColor)
        '指定した色(複数)と一致したら合計する
        If rgColor(chk).Interior.ColorIndex = rg.Interior.ColorIndex Then
          TTL = TTL + Val(rg.Value)
          Exit For
        End If
      Next
    Next
    Total_Color = TTL
  End If
End Function
    • good
    • 2
この回答へのお礼

なるほど、関数を作らないとだめだったんですね。

教えていただいた通りやってみたところ、
上手く集計できました!
素晴らしいです!

丁寧なお答え、本当にありがとうございました。

お礼日時:2002/02/07 15:01

こんにちは。


エクセルの質問サイトに同様の質問がありますので、参考urlご覧下さい。

参考URL:http://cgi.fuji.ne.jp/~fj2094/cgi-bin2/wwwlng.cg …
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだ

動詞一覧・目的語一覧・補語一覧みたいな英語の詞・語ごとにずらーと並んだサイトってないですか?

Aベストアンサー

動詞はともかく「目的語」とは「補語」というのは文における働きなので, そんな一覧を求めることがそもそも全く無意味.

Qエクセル2010でセルに数式を入力してセルにその数式を表示させたいので

エクセル2010でセルに数式を入力してセルにその数式を表示させたいのですが
コピペで値だけができなく、どのように表示させればよいのか解りません
解る方お願いします

Aベストアンサー

これのことでしょうか?

Ctrl + Shift + アクセント記号 (`)  数式と計算結果の表示を切り替える。

Q新着順や新着順一覧を英語で書くと??

英語で新着順ってなんて書きますか?
HPに写真を載せていて
写真を新着順一覧に表示するスペースの名前を英語にすると、なんて書けばいいんでしょうか?
新着順や新着順一覧…という感じでお願いします。

Aベストアンサー

Sort by Date (日付順)というリンクが多いですね。

順番の切り替えに latest to earliest (最新から最古へ) とその逆を書いてある場合や、上向き三角▲と下向き三角▼のボタンを使っているところもあります。

到着というのをわざわざ盛り込んでいるところは少ないですが、長くても良いならば、Sort by Date arrived か Sort by Arrival Date とも書けます。

今回に写真という語も入れようとすると、Photos sorted by date (latest to earliest) のようになって見た目は冗長になってしまいます。

Q【Excel VBA】特定の列で時間を入れているセルだけ合計して数式をセルにいれたい

Excel VBA初心者です。

特定の列の各セル(B列とします)に時間(数字)、件数(数字)、文字列(○や×)が入っています。
この中でランダムな位置に入っている時間(数字)のみ拾い出し、合計欄(セルB20とします)に「数式(例)=sum(b3,b6,b8,b13,b18)」を入れたいのですが、マクロの組み方がわかりません。上記の特定のセルを抽出するところまではできたのですが。

マクロの組み方をご教授願えますか。

Aベストアンサー

No.1です。
AA列に対象セルの一覧がある場合はこんなのではどうでしょうか?
Sub sample()
Dim lastRow As Long
Dim rngStr As String
Dim r As Long
’AA列の最終行取得
lastRow = Range("AA" & Rows.Count).End(xlUp).Row
'1列から最終行まで
For r = 1 To lastRow
'rngStrが空白でない場合(2個目以降)はカンマを付ける
If rngStr <> "" Then rngStr = rngStr & ","
'セルを追加
rngStr = rngStr & Range("AA" & r).Value
Next
Range("B20").Formula = "=sum(" & rngStr & ")"
End Sub

実際は上記よりも、AA列を作る時点で計算をすれば、AA列を作る必要が無いと思います。
合計の変数を用意して
Range("AA1") = "b3"
または、
Cells(1, 27) = "b3"
にする場所で、AA列に代入せずに、その値を利用して、合計変数にセルの値を加えればいいと思います。
ただ、質問の内容から細かい仕様がわからないので、既に出来ているAA列があるなら、それを利用して計算するのも間違いない方法だと思います。

No.1です。
AA列に対象セルの一覧がある場合はこんなのではどうでしょうか?
Sub sample()
Dim lastRow As Long
Dim rngStr As String
Dim r As Long
’AA列の最終行取得
lastRow = Range("AA" & Rows.Count).End(xlUp).Row
'1列から最終行まで
For r = 1 To lastRow
'rngStrが空白でない場合(2個目以降)はカンマを付ける
If rngStr <> "" Then rngStr = rngStr & ","
'セルを追加
rngStr = rngStr & Range("AA" & r).Value
Next
Range("B20").Formula = "=sum(" & rngStr & ")"
End Sub

実...続きを読む

QWindows7でプログラム一覧が英語表示される

Windows7でプログラム一覧が英語表示される

Windows7 Professionalを使っています。
最近気がついたのですが
普通ならプログラム一覧で
「アクセサリ」と表示されるはずの部分が
英語で「Accessories」と表示されるようになっていました。
メニュー自体もすべて英語で
たとえば「電卓」なら「Calculator」といった具合です。

ちなみに「ゲーム」は「Games」
「既定のプログラム」は「Default Programs」となっていますが
「スタートアップ」はそのままです。

ソフト自体に不具合はないのですが
何となく気になります。
かといって
名前を一つ一つ変更するのも面倒です。
簡単に元へ戻す方法がお分かりでしたら
よろしくお願いいたします。

Aベストアンサー

詳しくは分かりませんが、C:\Users\○○\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\AccessoriesにあるはずのDesktop.iniをうまく設定すればよいと思います。ちなみに○○はユーザー名です。

Q【Excelの値が入っていないセルだけセルに色を付ける方法を教えてください】 また値が入っているセル

【Excelの値が入っていないセルだけセルに色を付ける方法を教えてください】

また値が入っているセルだけ色付けする方法も合わせて教えてください。

Aベストアンサー

セルの条件付書式で、セル=「値の条件」であるか否か、の判断で、
セルの色設定をすればよいです。

Qヘンな日本語英語の一覧があるサイト

ヘンな日本語英語の一覧があるサイトなんてご存知ありませんか?
ピアース、ピーマン、ビデオデッキ、シャーペンなど、実際には使われない英語がたくさん日本で使われていたりしますが、こういうリストが載っているサイトを探しています。

ご存知の方いらっしゃいましたら教えて下さいっ!
よろしくお願いしまっす!

Aベストアンサー

洋サイトですが

参考URL:http://www.engrish.com/

Qエクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り

エクセル2003で、数式で出されたセルの値によって、そのセル自体を塗り分けしたいのですが、7種類あるため条件付書式では対応出来ず困っています。

具体的には「2.7000~2.7099」ならピンク、「2.7100~2.7199」なら黄色、「2.7200~2.7299」なら黄色「2.7300~2.7399」なら緑色「2.7400~2.7499」なら青色「2.7500~2.7599」なら紫「2.7600~2.7699」なら灰色
という具合です

漠然としていて申し訳ないのですが、マクロを使用したいと思っています。お力を貸していただけないでしょうか?

Aベストアンサー

>数式で出されたセルの値によって、そのセル自体を塗り分けしたい

マクロに精通しているともっと高速なマクロにチューニングできますが,今の丸投げの様子では無理そうなので,とりあえず「A列にある数式セル」を毎回色を塗ります。


手順:
シート名タブを右クリック,コードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

Private Sub Worksheet_Calculate()
 Dim h As Range
 Dim c

 ’色を塗るセル範囲を変更するのはここ
 For Each h In Range("A:A").SpecialCells(xlCellTypeFormulas)

 Select Case h.Value
 Case Is < 2.7
  c = xlNone
 Case Is < 2.71
  '「2.7000~2.7099」ならピンク、
  c = 7
 Case Is < 2.72
  '「2.7100~2.7199」なら黄色、
  c = 6
 Case Is < 2.73
  '「2.7200~2.7299」なら黄色
  c = 6
 Case Is < 2.74
  '「2.7300~2.7399」なら緑色
  c = 10
 Case Is < 2.75
  '「2.7400~2.7499」なら青色
  c = 5
 Case Is < 2.76
  '「2.7500~2.7599」なら紫
  c = 13
 Case Is < 2.77
  '「2.7600~2.7699」なら灰色
  c = 15
 Case Else
  c = xlNone
 End Select

 h.Interior.ColorIndex = c
 Next

End Sub

ファイルメニューから終了してエクセルに戻る。
再計算が走る都度,A列を塗り替える。


#塗りたい色のご説明が変だったりしますので,またもうちょい違う色にしたい時も,下記のURLを参考に自力で色の番号(c=5とかの所)を直してみてください。
あといわずもがなですが,ご相談の状況では通常よく使われるchangeイベントのマクロは,そのままでは使えません。(高速なマクロにチューニングする時には使いますが)

参考URL:http://furyu.tea-nifty.com/annex/2006/05/excel_cab9.html

>数式で出されたセルの値によって、そのセル自体を塗り分けしたい

マクロに精通しているともっと高速なマクロにチューニングできますが,今の丸投げの様子では無理そうなので,とりあえず「A列にある数式セル」を毎回色を塗ります。


手順:
シート名タブを右クリック,コードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

Private Sub Worksheet_Calculate()
 Dim h As Range
 Dim c

 ’色を塗るセル範囲を変更するのはここ
 For Each h In Range("A:A").SpecialCells(xlCellTypeFormulas)

 S...続きを読む

Q色の名前は、日本語と英語のどちらを多く使う?・・・例えば「緑」と「グリーン」

「緑」と「グリーン」、「灰色」と「グレー」・・・

色の名前を言う時、日本語と英語のどちらを多く使いますか?

例えば、
・服の色は?
・車の色は?
・携帯機器(電話・プレイヤーなど)の色は?
どちらの表現を多く使いますか?

又、その他
「このもの(種類)は、日本語(英語)で言う」
「この色は、日本語(英語)で言う」
「殆ど、日本語(英語)で言う」
といったご回答も、歓迎します!

Aベストアンサー

じゃあいきましょか。英語です。私ら。

ピンク、ローズピンク、チェリーレッド、マローピンク、チリアンパープル、コスモス、チェリーピンク、ベビーピンク、ラムプラーローズ、ラズベリー、ローズマダー、カーマイン、パーシアンローズ、プラム、ガーネット、ピアニーレッド、プリムラ、コーラル、サルビア、マゼンダ、バーミリオン、シグナルレッド、ホビーレッド、ロブスター、ケチャップ、ファイヤー、スカーレット、バーミリオンレッド、ルビー、オペラ、ブリック。ベルベット。
以上赤系統。
日本にも古来のゆかしき呼び方はありますが、この点に関しましては英語に軍配をあげます。

グレーといいましても、シルバーホワイトグレー、パールグレー、オレンジグレー、イエローグレー、ブルーグレー、ピンクグレー、フレンチグレー、ミディアムグレー、グレー、ダークグレー、カーボングレー、チャーコールグレー、…あぁしんど。
私は日本男児ですが色名は英語です。

Qエクセル2003 合計した数式に単位を付けたい

「sum」「countif」などの関数を使って出した合計の数字に「人」や「センチ」などの単位を付けて表示したいのですが、どのように設定したら良いですか?

(エクセル2003をXPで使っています。)

Aベストアンサー

表示するセル上で右クリック→セルの書式設定→ユーザー定義→種類(T)に表示されたもの(例:G/標準)の後に入れたい言葉をダブルクォーテーションでくくる。
G/標準"センチ"
という様に。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報