[[20090522142410]] 『SUMPRODUCT関数と色』(SEVEN) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『SUMPRODUCT関数と色』(SEVEN)

CELLCOLOR関数で取り出したカラーコードに対して SUMPRODUCT関数を当て色をキーにして乗算を行なっているのですが、カラーコードを取り出すセルが無駄に感じるためにVBAで動かしたいと考えているのですが、組込み関数等で作成する事は可能でしょうか?

EXCEL VER 2003

OS XP


 > 組込み関数等で作成する事は可能でしょうか?
 どういうことでしょう?
 (seiya)

A数量
B単価
Cカラーコード
DSUMPRODUCT
A列の色によって集計を行ないたいのですが、C列にてカラーコードを返して D列でSUMPRODUCTでCを条件にしA*Bを行なっています。

これをC列を作成せずに計算する方法を模索しています。


 > 組込み関数等...
 が知りたいのですが?
 (seiya)

組込関数もしくはマクロで成立する事が可能かです。

 VBの組み込み関数では無理でしょう

 =ColorProduct(A1,A$1:B$100)

 Function ColorProduct(ByRef ref As Range, ByRef rng As Range) As Double
 Dim myIndex As Long, r As Range
 Application.Volatile
 myIndex = ref.Interior.ColorIndex
 For Each r In rng.Columns(1).Cells
     If r.Interior.ColorIndex = myIndex Then
         ColorProduct = ColorProduct + r.Value * r(1, 2).Value
     End If
 Next
 End Function
 (seiya)

これでは動かないみたいです。

色の条件式と範囲内の乗算は成立が難しいのかもしれないですね。


 それは残念でした...
 とりあえず、Application.Volatileだけ追加
 (seiya)

申し訳ありません。
できました。
ここまでの回答を即座に頂けるとはありがとうございます。
私には到底組めなかったと思います。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.