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

表の中の色付きのセルの値だけ除外して計算する式がわかりません
教えて下さい、宜しくお願い致します。

質問者からの補足コメント

  • つらい・・・

    銀鱗様早急なるご回答ありがとうございます
    SUBTOTAL関数も少し勉強しましたが使えるものが見つけられませんでした。
    単に列の合計を出したいだけなのですがその中にある色付きのセルの値だけ除外したいのです。
    簡単そうで【色付きセルを除外した合計値を求める計算式】がどこにも掲載されておりません。
    出来たら表の体裁も変えたくはないのですがやはり無理なのでしょうか・・・・・・

      補足日時:2020/03/27 08:05
  • 私の記載の仕方がわかりづらくてすみません。
    単純にA1~A100の合計をA101に表示させたいだけです。
    その中に色付きのセルがあった場合(例えばA3とA15)にA3とA15の値は合計に含めないというものです。宜しくお願い致します。

      補足日時:2020/03/27 10:45

A 回答 (4件)

No.2です。



VBAで良いのでしょうかね?
そうであれば、前回のコードを少し変えるだけです。

Sub Sample2()
 Dim c As Range
 Dim myVal
  For Each c In Range("A1:A100")
   If IsNumeric(c) And c.DisplayFormat.Interior.ColorIndex = xlNone Then
    myVal = myVal + c
   End If
  Next c
   Range("A101") = myVal
End Sub

こんなんではどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

世の中には天才レベルの人がいるものですね。
tom04さんの書式をコピーして使ったら出来ました。
私には凄すぎて内容はわかりませんが欲しかった答えが得られましたので感謝申し上げます。
こんなすごい事を【できる】、【出来る人がいる】という事実に驚愕です。
本当にありがとうございました。

今回はコピペですぐに解決させてくださったtom04さんをベストアンサーとさせていただきましたが他の方々も親切にご指導くださいましてありがとうございました。

お礼日時:2020/03/27 15:30

>SUBTOTAL関数も少し勉強しましたが使えるものが見つけられませんでした



SUBTOTAL関数で除外するのではなく、オートフィルタで色つきを除外してその合計をSUBTOTAL関数で出すんですよ。

>簡単そうで【色付きセルを除外した合計値を求める計算式】がどこにも掲載されておりません

既にVBAの回答がついてますが色を一般機能の数式で判断することはできません。
    • good
    • 0

こんにちは!



色の判断は関数ではできないので・・・
VBAになりますが、一例です。

範囲を指定して、↓のマクロを実行してみてください。

Sub Sample1()
 Dim c As Range
 Dim myVal
  For Each c In Selection
   If IsNumeric(c) And c.DisplayFormat.Interior.ColorIndex = xlNone Then
    myVal = myVal + c
   End If
  Next c
   MsgBox myVal
End Sub

※ 上記コードはExcel2010以降で使えます。

※ どのセルに表示させるかが不明なので、とりあえずメッセージボックスで表示させています。
仮に B10セルに計算結果を表示させたい場合は
>MsgBox myVal

>Range("B10") = myVal
のように変更してください。

※ 極端に広い範囲(行全体や列全体など)は範囲指定しないでください。
範囲指定したセルをすべてループさせていますので、
「応答なし」の状態になると思います。m(_ _)m
    • good
    • 0

合計を求めたいのでしょうか。


ならば、色の付いたセルの値の合計を求めましょう。

さて、これは「数式だけ」ではできません。
「フィルター」機能を併用します。
ですので、見た目が変わってしまったら困るという場合には使えません。

・・・
具体的には普通に「フィルター」を設定し、絞り込み条件を「色フィルター」でセルの色を「塗りつぶし無し」を指定して表示させるのです。
この時、
SUBTOTAL関数で「表示されているセルの合計」を求めれば希望する値を取得できます。
(フィルタを解除すると当然、合計の値は変わります)
 =SUBTOAL(109,C2:C10)
のように、「109」を指定すると、表示されたセルの合計を求めることができます。
(SUBTOTAL関数の使い方を確認してください)

添付した画像は、
C2セルからC10セルまで、1から9の連番を入力し、
C11セルに合計を求めるようにしています。(C11セルにSUBTOTAL関数を使う)
「エクセルの関数を教えて下さい」の回答画像1
    • good
    • 0

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