• ベストアンサー

エクセルで同色のセルだけ合計したい

エクセルの売上表で、担当者ごとに行単位でセルの色を変えています。 担当者ごとの合計を出す際に同色のセルだけ合計できる機能はないでしょうか。 条件つき書式等見てみましたが、見当たりませんでした。 おねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

>HTMLみたいな?ものなんでしょうか。  オイラもよく分かりませんが、VBA(ビジュアルベーシック)を使う スクリプトというプログラム言語らしいです。  決められた約束事に従って記述するという意味ではHTMLと似ている かも知れませんが、HTMLは主に表示を制御しているんじゃないかな?  マクロはソフト的な動きも命令で制御しているはずです。 >マクロは時間のある時勉強してみたいと思います。  第1項の方法は、ユーザーが任意に関数を定義してしまうという マクロの1種らしです。  オイラも意味はよく分かっていないのです。 ただ、コピー&ペースで 利用させていただいているに過ぎません。  そして、第2項の方法はそのマクロを使わない方法なのです。 しかし マクロのユーザー定義関数を使った方が、手順や説明が簡単なのです。  それに比べて第2項の「GET.CELL」という、言わば隠し関数の計算式を 任意の名前で登録する手段は、何回かの段階を踏む必要があり、手続きが 面倒なのでオイラにもうまく説明できないのです。  その為、実際のサンプルファイルを見た方が理解が早かったりします。  因みに、「=GET.SEL()」という式自体は実際のシートのセル上から確認 することはできません。  そのとき定義した式の名前、例えば「=フォントの色(任意)」などと いう関数?が記述され、その該当セルには計算(判定)結果が数字で表示 されます。そして、その結果を利用して集計やカウントをするわけです。

その他の回答 (5)

回答No.5

 ANo.4 です。 >2 実は、マクロを使わない方法があります。  どうやら、この方法もいちおうマクロの仲間に入るらしいです。  なお、サンプルファイルをダウンロードできるサイトを見付けたので 紹介しておきます。  http://pc.nikkeibp.co.jp/pc21/sample/200311/k_fx.shtml  何らかの手助けになれば、幸いです。

参考URL:
http://pc.nikkeibp.co.jp/pc21/sample/200311/k_fx.shtml
回答No.4

1 残念ながらマクロを使わないと,ご希望のことは難しいというのが  定説のようです。   以下に一例を記しますので、参考にしてください。 (1) [ツール]-[マクロ]-[VisualBasicEditor](またはAlt + F11)で  VBE画面にします。 (2) VBE画面上で[挿入]-[標準モジュール]を選択します。  するとコードウィンドウが出ますので、以下のコードを記します。  (点線内をコピー&ペーストでもOK) ---------------------------------------------------------------- Function SpecialCell(targetRange As Range, _ intColor As Integer) As Integer '赤は3,緑は4,青は5,黄は6 Dim myCell As Range For Each myCell In targetRange If myCell.Font.ColorIndex = intColor _ Or myCell.Interior.ColorIndex = intColor Then SpecialCell = SpecialCell + 1 End If Next End Function ---------------------------------------------------------------- (3) 元のワークシートに戻って、適当なセルに 赤字のカウントは =SpecialCell(A1:E5,3) 青字のカウントは =SpecialCell(A1:E5,5) 黄字のカウントは =SpecialCell(A1:E5,6)  などとすればOKです。  ただしフォント色が黄でセル色が青などというのは、どちらにも カウントされてしまうので注意。   ☆参考:ブックの標準カラーパレットのインデックス番号    (VBエディタのヘルプにて「ColorIndex」を検索して、参照)   1 黒   2 白   3 赤   4 黄(薄)緑 5 青   6 黄   7 桃色  8 水色  9 茶色   10 緑   11 紺    (濃い緑) 以下 ~ 56 まであるようです。  ※参考(別解) --------------------------------------------------------------- Function ColoredCell(rngArg As Range, rngSample As Range) As Long For Each c In rngArg If c.Interior.ColorIndex = rngSample.Interior.ColorIndex Then ColoredCell = ColoredCell + 1 End If Next End Function ---------------------------------------------------------------  使う際には =ColoredCell(A1:A10,A5) といったように、第1引数は 調べたい範囲、第2引数には指定する色の(サンプル)セルを当てる。  ※SUMIF 関数の併用も可 2 実は、マクロを使わない方法があります。   5~6年程前に、何処かで教わった記憶があります。   色を判定する式(=GET.CELL(**,**))をブックに登録、判定結果を  表示したいセルに、登録した式の定義名で記述する。   その判定結果を SUMIF や COUNTIF 関数の引数として再利用する。  (1) 色を判定する式を登録    メニューバー「挿入」→「名前」→「定義」名前の定義画面にて   「参照範囲」欄に    「=GET.CELL(検査の種類を指定する番号,判定したいセル番地)」    名前欄に式の名前を(「文字の色」や「セルの色」等)付けて   「追加」→「OK」で登録完了    ☆検査の種類を指定する番号とは?     20→フォントは太字か否か?を判定     24→文字フォントの色を判定     63→セルの塗りつぶし色を判定    なお、後から書式を変更しても結果が自動的には更新されないので、 NOW 関数を組み込み「F9」キーで更新させた方が良いようです。  例「=GET.CELL(**,**)+NOW()*0」(0を足している為、値に影響なし)  (2) 判定した結果を表示させる    判定結果を表示したいセルに「=定義した名前」という式を入力   すると色の種類すなわち色の番号を判定結果として表示してくれる    色の番号の一例     黒字(無指定)=>0     赤      =>3     青      =>5     緑      =>10     薄緑     =>4     ※その他も、実際に試してみれば結果は分かるはず  (3) 判定した結果を、SUMIF や COUNTIF関数の引数として利用する。  言葉で説明するのは非常に難しくこれで理解していただけるかどうか 自信がありませんが、この、色の判定式を登録してしまうという方法は Excel97 から Excel2002までのバージョンで活用できることは確認済み です。  実際のサンプルファイルを見ていただければいいのですが、なかなか 良い方法が思いつきません。  Excel2007 で読み込んでも反映されましたが、2007でどう作成するの かは、残念ながらメニュー体系が分からないオイラには説明できません。

liz-noise
質問者

お礼

詳しい回答をありがとうございます。 HTMLみたいな?ものなんでしょうか。 マクロは時間のある時勉強してみたいと思います。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

過去同じようなご質問が何回もありました。いずれにせよマクロを使用しないとどうしようもありません。(#01さんが言われるようにワークシート関数ではできません) 質問文にはマクロを書くだけの材料が全く書かれていないので、過去の例を挙げるだけにとどめておきます。 1)色を指定して集計までするマクロ http://oshiete1.goo.ne.jp/qa3153185.html http://oshiete1.goo.ne.jp/qa2912628.html 2)背景色を取得するマクロ(集計はSUMIF関数で別に行う) http://oshiete1.goo.ne.jp/qa3244298.html

liz-noise
質問者

お礼

ありがとうございます。 マクロ少し調べてみましたが、難しそうなので他の方法を探してみます。

回答No.2

担当者ごとに合計するなら、担当者コードとかを集計キーにして (1)別表にSUMIF関数で合計をとる (2)昇順に並べ替えて、データ>集計を使用する (3)ピボットテーブルを使用する といった方法でやるほうがいいですよ。

liz-noise
質問者

補足

ありがとうございます。 担当者コード・ピボットテーブルってなんですか? 調べてみましたが、よく分かりませんでした。 質問ばかりいですいません。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

出来ません。 条件つき書式を考えるのは見当違いです。 普通ここへ質問する人は、関数利用でもって出来ないかということを(言外に含めている)人が多いので、関数を使っては不可能です。 VBAを勉強するか、(VBA ColorIndexでWEB照会してみたら) 色に注目しないで担当者名というセルの値に注目して、SUMIFj関数など使えないか 勉強してください。 セルの色は「セルの書式」に属するもので、関数は「セルの値」を判別したり、計算に使ったりするものです。 セルの書式ー>セルの値にするVBAでの方法があるのでそれを使う手もありますが。 2007では、セルの色でならべ変える(いままでの常識ではセルの値で並べ替える)ところまできているようなので、将来にMS社はこういう機能を作るかも知れませんが。 参考 http://www.excel-img.com/database08.html

liz-noise
質問者

お礼

ありがとうございます。 勉強してみます。

関連するQ&A

  • Excel 条件付書式で、セルに色を付けたいのですが

    エクセルで、チェック表を作成しました。 1行目には日付を2行目には曜日が入るようになっています。 A列には、各チェック項目が入ります。 この様な表を作成し、1ヶ月単位でチェックを行います。 作成した表を、1ヶ月ごとに曜日と日付を更新する必要があります。 土日のみ自動的にセルに色がつくようにしたいのですが、上手くいきません。 現在、条件付書式にて、曜日の欄には色がつきます。 また、他のセルは、「次の場合に等しくない」で曜日の欄が土日の場合に、色がつくようにはなりました。 しかし、日付の欄や、セルに予め文字が入っている場合、この条件付書式が上手く機能しません。 何か良い手はありますか?(文字を消すと上手く機能します)

  • エクセルで条件を付けたセルの個数

    エクセルで複数行の表を作りました。各行ごとに異なる条件付き書式を施し、適合結果のセルを書式設定のパターンで色づけしました。色付きのセルが縦(列)に何個あるかを表示させるにはどうすれば良いでしょうか。教えてください。

  • エクセルで、セルに「合格」という文字が入ったら、そのセルの入った行全体に灰色の網掛けがかかるようにできますでしょうか?

    ほぼタイトル通りなのですけれど、 エクセル(97)であるセルに「合格」という 文字列が入りましたら、そのセルの入った 行全体(表の中の事なので表の中のみ)に灰色の 網掛けがかかるようにできますでしょうか? 「条件書式」を使いますと、一つのセルに「合格」と 入りますと、そのセルのみに網掛けがかかってしまうようですし、行全体に網掛けがかかる方法を探しています。。 何か機能を組み合わせていい方法はないでしょうか?

  • エクセルの並び替え (セルの色を除いて)

    エクセルの並び替えにつきまして質問させて頂きます。 入力の際見やすいように一行おきに薄くグレイにしています。 この表で並び替えをしますと、行の色も並べ替えられて白の行が続いたり、薄いグレイの行が続いたりします。 この様な場合、「セルの書式」のセルの色だけ移動せずに並べ替えをすることは可能でしょうか? 可能でしたら、手順を是非ご教授下さい。 よろしくお願いいたします。

  • エクセル セルのプロパティを確認する方法を教えてください。

    エクセル セルのプロパティを確認する方法を教えてください。 エクセル2003を使用して表を作成しています。 文字を入力して確定すると、白かったセルに色がつくのですが そのように作成した覚えがなく、どのようになっているのかがわかりません。 ・該当セルに条件付書式などは設定されていません。 ・入力するセルの上の行(セル)に色がついている場合があります。 ・表の行を増やす時は表の空白行をコピーして貼り付けています。 確認方法や、こうすると色がつくなど、何かご存知の事がありましたら ご教示いただけないでしょうか? よろしくお願いします。

  • エクセル2000の条件付き書式について

    エクセル2000において、条件付き書式を利用すると、そのセルの文字色とかパターン(塗りつぶしの色)などをその条件にそって、変えることができるのはわかったのですが、行単位で、条件付き書式を利用できないでしょうか? つまり、A1のセルがマイナスになった場合は、1の行はすべて赤に表示するということなのですが…

  • エクセルで、あるセルを参照に空白のセルを塗りつぶす方法

    仕事で毎時間の各商品の売れ具合を、エクセルで日々表にしています。表は多い(多)普通(普)少ない(少)無し(無)と数段階に区切って表示して、それぞれに(多)なら赤、(普)なら黄~とそのセルを塗りつぶしています。表内のセルには、条件付き書式をかけているのでA商品の売り上げ9時台が「普通」なら、対象のセルに普と入力すると、そのセルは自動的に黄色で塗りつぶされるようにしています。 そして、9時台が「普通」で、同じ商品の10~14時台まで同じ「普通」の売り上げが続き、15時に「多い」になったら、10~14時台のセルを9時台と同じ状態が続いたということで、セルの中には何も入力せず、色だけ黄色で塗りつぶしています。 (一つの商品は時間毎に右のセルに移動して、始めから終わりまで同じ行で表示しています。) 前置きが長くなってしまいましたが、質問させていただきたいのは、 あるセル(例:セルA2)に「普」と入力し、塗りつぶしも(条件付き書式で自動的に)黄色になった場合に、そのセルの右隣のセル(例:セルB2)に何も入力されていなければ、同じ色(黄色)に塗りつぶし、さらにその右隣のセル(例:セルC2)にも何も入力されていなければ、これも同じ色(黄色)に塗りつぶす~という作業を、同じ行の右隣のセルに何か入力されるまで繰り返す。という指示をエクセルに与えることは可能でしょうか?(ソフトはエクセル2000を使用しています) 自分で関数で色々試してみましたが、出来ずに困っています。 これは、マクロ(VBA?)というもので、出来るのでしょうか? 私はマクロを全然使ったことが無いのですが、もしマクロで出来る場合、マクロ初心者の私では難しいでしょうか? 長々とした、わかりづらい質問で申し訳ありません。 宜しくお願いいたします。

  • エクセルでのセルの色づけ方法

    教えてください。 エクセルで、8000行、15列程度の表があります。 例えば、A2に、Aと入力すると、A2とA1の両セルが水色 Bと入力すると、A2とA1の両セルが黄 Cと入力すると、A2とA1の両セルが赤 他にも、例えば C4に、Bと入力すると、C4とC3の両セルが赤 Bと入力すると、C4とC3の両セルが黄 Cと入力すると、C4とC3の両セルが赤   などのように、A=水色   B=黄色   C=赤になるように 条件付き書式を設定し、その書式を他のセルへコピーして、 1000行位までは、ちゃんと保存できたのですが、8000行程度まで、コピーして、保存すると、『保存できません』と表示されてしまい、1000行以上は条件付き書式のコピーをしても、コピーはできますが、保存できないため、大変困っています。。。もしかして、条件付き書式には、書式のコピーができる制限があるのでしょうか?あとは、VBなどで対応 するしかないのでしょうか。VBもまったく分かりません。。 是非、よろしくお願いいたします。

  • エクセル関数で、バラバラのセルの合計を出したい。

    エクセルで、家計簿の補助として、いろいろな通帳から引き落としされる金額の管理をしています。 並んでいないバラバラのセルの合計を出す場合、SUM関数で、合計したいセルを1つずつ指定する方法はわかるのですが、例えば文字の色やセルの塗りつぶしでグループ分けをし、例えば黄色のセルのみの合計・ゴールドのセルのみの合計、というように、1度で指定してグループ別の合計を出す、というような方法はあるのでしょうか? SUMIFという関数で、「検索条件」に「黄」「ゴールド」などと入れてみたのですが、できませんでした。

  • Excelの条件付き書式の適応結果を、書式のみコピーしたい

    できそうでできないんです。 どなたか良い方法を教えてください。 Excelの条件付き書式で、偶数行だけ色(例えば水色)を付けて見やすくした表があります。 この表で、いくつかの行だけ手動でセル色を赤、文字色を白というようにしたいので、色塗りのボタンを押しますが、条件付き書式が優先されて、思うようにいきません。 それで、条件付き書式の適用された結果の書式(交互に水色)を、本来のセルの書式とし、条件付き書式はクリアしたいのですが、どうすればよいでしょうか? 書式のコピーをしても、条件付き書式がコピーされてしまい、期待する結果を得られません。 宜しくお願い致します。

専門家に質問してみよう