[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同じ値のA列セルの行に色』(ピボット)
A列で重複している値の行全体に条件付き書式で色を付けたいです(2色ストライプ) 下の例でいうと1、2行目の行は青色 3、4、5行目は白色、6行目は青色、7行目は白色 データ量が多くなってきて色分けしないと大変になってきました。 お助け下さい。
A 1 1 2 2 2 3 4
私のようなエクセル素人にとっては難問だねぇ。エキスパートさんからの回答を楽しみに心待ち。 お呼びじゃないだろうけどVBA。
Sub Sample() Dim c As Range Dim myColor As Long
myColor = vbCyan Cells.Interior.ColorIndex = xlNone
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp))
c.EntireRow.Interior.Color = myColor 'c.EntireRow.Range("A1:J1").Interior.Color = myColor '色つけ範囲を限定するならこっち If c.Value <> c.Offset(1).Value Then If myColor = vbCyan Then myColor = vbWhite Else myColor = vbCyan End If End If
Next
End Sub
(ぶらっと)
1,2行目・・・蒼 3,4,5行目・・白 6行目・・・・蒼 7行目・・・・白 すなわち数値が変わる毎に色を変更。 あるいは「数値」が重複があっても1,2,3・・・と連番であれば、 1,3,5 (奇数)・・・蒼 2,4,6 (偶数)・・・白 等々
> すなわち数値が変わる毎に色を変更。
ん? 何色に変更?
>あるいは「数値」が重複があっても1,2,3・・・と連番であれば
だね。もし、実際のデータがそうなっていれば。
追記)↑で偉そうに 【ん?】なんてレスしたけど、素人なりに考えたのは 数式で、その行までにA列に登場する一意の値の個数が奇数なら青、偶数なら白かなと。 で、自分では全く無理だけど、MSの解説ページなんかにでてくる FREQUENCYを使った方法で求めて・・ ただ、これが例の Ctrl/Shet/Enter による式で、それを条件付き書式の数式として 指定する方法がわからないので。 どこかに作業列をおいて、そこに数式を記述して、条件付き書式では、その列を参照するってのは できるかもしれない。
でも、いずれにしても、私が、そのFREQUENCYを使った式を全く理解できないので。
(ぶらっと)
1行目は「蒼」 2行目 条件付き書式 数式「=MOD(SUMPRODUCT(($A$1:$A1<>$A$2:$A2)*1),2)=0」書式「蒼」 3行目以下 書式コピー
あるいは 1行目 条件付き書式 数式「=MOD($A1,2)=1」書式「蒼」 2行目以下 書式コピー
条件付書式
数式が =MOD(COUNT(0/FREQUENCY(A$1:A1,A$1:A1)),2)=0 青色設定
※111222333111 とか 同じ数値が別グループになるとNG。
(GobGob)
さらに追記)もし、A列が文字列限定なら、C/S/E ではなく 通常の =COUNT(INDEX(1/(MATCH(領域,領域,0)=(ROW(領域))),)) で取得可能と、これもMSのページに書いてあったので、これを条件付き書式の式に設定することはできるかも。 でも・・・膨大な数のセルに重い式を設定すると、ブックがめちゃめちゃ重くなりそうな・・・ やるとしても、やっぱり作業列に式を書いて、各セルの条件式は、その作業列を参照するのかな?
ただし、GobGobさんの指摘と同じく、AAAABBBBCCCCAAAA なんて並びはだめ。
(ぶらっと)
A B C 1 500 700 1 200 2 200 600 2 100 2 300 3 600 600 4 800 800
(ピボット)
C1 : =SUMIF(A:A,A1,B:B)
C2 : =IF(A2<>A1,SUMIF(A:A,A2,B:B),"")
C2を下にフィルコピー とか?
(ぶらっと)
C1セル =IF(COUNTIF(A$1:A1,A1)>1,"",SUMIF(A:A,A1,B:B)) 下にフィルコピー
という方法も。
(se_9)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.