2016-08-31 13 views
0

私は、いくつのセルに緑色のセルがあるかに基づいて、セル値に数値を入力しようとしています。MS Excel-セルに色分けされたセルの割合に基づいてセルを埋め込みますか?

例1:

A1 B1 C1 D1 (E1- Answer '15%' will appear here) 
G NG NG NG (G= Green, NG= Not Green) 

もう一つの例:

A1 B1 C1 D1 (E1- Answer '30%' will appear here) 
G G NG NG (G= Green, NG= Not Green) 

=IF(GetFillColor(A1)=4,"1",AND IF(GetFillColor(A1:B1)=4,"2"), AND IF(GetFillColor(A1:C1)=4,"3"), AND IF(GetFillColor(A1:C1)=4,"4", "0"))

GetFillColour:

Function GetFillColor(Rng As Range) As Long 
    GetFillColor = Rng.Interior.ColorIndex 
End Function 

すべてのヘルプははるかに高く評価されるだろう、ありがとう!今、あなたが指定したセルに直接あなたの合計を持って

Public Function getfillcolor(rng As Range, color As Long) As Integer 
Dim i As Integer 
Dim cell As Range 
For Each cell In rng.Cells 
    If cell.Interior.color = color Then 
    i = i + 1 
    Else 
    End If 
Next cell 
getfillcolor = i 
End Function 

+0

「GetFillColor」とは何ですか?これはあなたが書いたUDFですか?コードを含めてください。 –

+0

UDFの場合は、おそらくこれを行うために別のUDFを書くことができます。私は数年前に同様のことをしました。 – Kyle

+0

GetFillColourは、セルの色を取得する関数です。したがって、4に等しい場合、色は緑色になります。 – liam337

答えて

0

はであなたのgetfillcolor機能を変更するようにしてください。

+0

Microsoft Visual Basicの機能なしでこれを行うことは可能ですか? if文と同じように。 – liam337

0

あなたはヘルパー細胞(なしVBA)を使用して、気にしない場合:

  • を命名式の作成:=GET.CELL(38,OFFSET(INDIRECT("RC",FALSE),-1,0))
    を私は私CellColourと呼ばれてきました。
  • 着色セルの下に式=CellColour 1セルを置きます。
    数式のオフセットは、上の行を見るように指示します。
  • 緑色のセル(RGB = 0,255,0)のセル数が10になります。
  • は今割合を計算する簡単な式を使用します。=COUNTIF(A2:D2,10)/COUNTA(A2:D2)

あなたは数式の結果を更新するために、F9キーを押す必要があります。

http://www.mrexcel.com/forum/excel-questions/20611-info-only-get-cell-arguments.html

+0

尋ねられたことはうまくいくはずですが、緑色にする代わりに「10」と入力するのではなく、そのようなアプローチを自分で選択する可能性があるのでしょうか?それは本当にあなたの望む外観でした)。 – pnuts

+1

良い点 - 私は自分でそのアプローチを使用しません。私は実際に色を必要とする場合、セルに10を入力する(またはTRUE/FALSEが高い)と条件付き書式設定など、色を数えない方法を使用します。 –

+0

ありがとうございます。私がやりたいことがまだありませんが、それでも大きな助けになります!私はそれで別の混乱を持っているだろう... – liam337

関連する問題