[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『条件付き書式で色付けた個数を数えたい』(ぴょこたん)
よろしくお願いします。
条件付き書式で1つのセルに対して16個ほど条件が入っています。
それによって赤と青に色付けがされるようにしました。
赤が何個、青が何個あるかを数えたいです。
セルは連続していなくてA1,A3,A5,A6・・と横一列ではありますがとびとびです。
=COUNTCOLORというやつで出来そうかと思ったのですが
どうやらこれは条件付き書式での色付けには対応していないようで困っています。
カウントする方法があれば教えてください。
色をカウントする方法がなければ、
色付けした条件と同じものを満たした場合横のセルに「1」と表示させ
それを合計すればいいのかな?とも考えました。
ただ、この場合条件付き書式に入れた条件16個をどのように1つに表現すればいいのかが分からずにちょっと思考停止しました・・・。
ちなみに入っている条件書式は下記通りです。
=AL10=1→色づけしない
=AK10=1→色づけしない
=AT10=1→色づけしない
=AP10=0→色づけしない(上記4つの場合は色付けせずに終了)
=AND(LEFT($A10,4)="0501",AQ10>=AQ$5)→青
=AND(LEFT($A10,4)="0908",AQ10>=AQ$6)→青
=AND(LEFT($A10,4)="1405",AQ10>=AQ$7)→青
=AND(LEFT($A10,4)="1608",AQ10>=AQ$8)→青
=AND(LEFT($A10,4)="1908",AQ10>=AQ$9)→青
=AP10>=AQ$4→青
=AND(LEFT($A10,4)="1908",AP10<=AP$9)→赤
=AND(LEFT($A10,4)="1608",AP10<=AP$8)→赤
=AND(LEFT($A10,4)="1405",AP10<=AP$7)→赤
=AND(LEFT($A10,4)="0908",AP10<=AP$6)→赤
=AND(LEFT($A10,4)="0501",AP10<=AP$5)→赤
=AP10<=AP$4→赤
エクセル初心者ですので、的外れな質問をしていたらすみません。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
お返事ありがとうございます!
作業列を作成するのは問題ありません。
上記の条件付き書式に記述した数式を1つの作業列に全部いれるということでしょうか・・?
どのような式にすれば全部成立するのか教えていただきたいです・・・。
(ぴょこたん) 2018/01/22(月) 09:39
改めて・・・
【青の作業列】
=AL10=1→0を表示
=AK10=1→0を表示
=AT10=1→0を表示
=AP10=0→0を表示
(上記4つの場合は今後下の条件に当てはまっても0)
=AND(LEFT($A10,4)="0501",AQ10>=AQ$5)→1を表示
=AND(LEFT($A10,4)="0908",AQ10>=AQ$6)→1を表示
=AND(LEFT($A10,4)="1405",AQ10>=AQ$7)→1を表示
=AND(LEFT($A10,4)="1608",AQ10>=AQ$8)→1を表示
=AND(LEFT($A10,4)="1908",AQ10>=AQ$9)→1を表示
=AP10>=AQ$4→1を表示
【赤の作業列】
=AL10=1→0を表示
=AK10=1→0を表示
=AT10=1→0を表示
=AP10=0→0を表示
(上記4つの場合は今後下の条件に当てはまっても0)
=AND(LEFT($A10,4)="1908",AP10<=AP$9)→1を表示
=AND(LEFT($A10,4)="1608",AP10<=AP$8)→1を表示
=AND(LEFT($A10,4)="1405",AP10<=AP$7)→1を表示
=AND(LEFT($A10,4)="0908",AP10<=AP$6)→1を表示
=AND(LEFT($A10,4)="0501",AP10<=AP$5)→1を表示
=AP10<=AP$4→1を表示
この式をまとめたいです。
さっぱりわかりません・・・
(ぴょこたん) 2018/01/22(月) 09:58
(1)色の有無を判定
=AND(AM10=1,AL10=1,AU10=1,AQ10=0)
これで、FALSEにならなければ、色塗らないから無視でいいですよね
(2)青に塗る条件を判定
=OR(AND(LEFT($A10,4)="0501",AQ10>=AQ$5),AND(LEFT($A10,4)="0908",AQ10>=AQ$6),AND(LEFT($A10,4)="1405",AQ10>=AQ$7),AND(LEFT($A10,4)="1608",AQ10>=AQ$8),AND(LEFT($A10,4)="1908",AQ10>=AQ$9),AP10>=AQ$4)
条件がちょっとわからなかったので、たぶんいずれかの条件を満たせば青かなとおもったのでこんな感じに。
(3)赤に塗る条件を判定
=OR(AND(LEFT($A10,4)="1908",AP10<=AP$9),AND(LEFT($A10,4)="1608",AP10<=AP$8),AND(LEFT($A10,4)="1405",AP10<=AP$7),AND(LEFT($A10,4)="0908",AP10<=AP$6),AND(LEFT($A10,4)="0501",AP10<=AP$5),AP10<=AP$4)
(2)と同じようにまとめるとこうなるはず
(4)
これを入れ子にすればいいんでしょうけど、よく見ると(2)と(3)は評価対象一緒なので、(2)がFALSEなら、(3)はTRUEになるように思います。(違ってたらすみません))
それを踏まえて手抜きすると、
=IF(AND(AM10=1,AL10=1,AU10=1,AQ10=0),IF(OR(AND(LEFT($A10,4)="0501",AQ10>=AQ$5),AND(LEFT($A10,4)="0908",AQ10>=AQ$6),AND(LEFT($A10,4)="1405",AQ10>=AQ$7),AND(LEFT($A10,4)="1608",AQ10>=AQ$8),AND(LEFT($A10,4)="1908",AQ10>=AQ$9),AP10>=AQ$4),"青","赤"),"無視")
ってなるので、これをB列にでも貼り付けて、必要な範囲にコピー(参照先は調整してください)
(5)
その後で、
=COUNTIF(B:B,"青")
=COUNTIF(B:B,"赤")
ってやれば求まらないでしょうか?
(もこな2) 2018/01/22(月) 11:25
>【青の作業列】 >=AP10>=AQ$4→1を表示 ↑ ここだけ他と違うんですけど、AQ10と違いますか?
(半平太) 2018/01/22(月) 13:07
「色付け」が条件付き書式での背景塗りつぶし、と仮定して・・。 カウント範囲と条件付き書式で背景色を塗りつぶした色番号を指定して カウントする関数を作成してみました。
ワークシート上で =CntInteriorColor(範囲、色番号) と入力します。
Function CntInteriorColor(Target As Range, ColorNo As Long)
Dim Rng As Range Dim Cnd As FormatCondition Dim Flag As Boolean Dim Cnt As Long
For Each Rng In Target Flag = False For Each Cnd In Rng.FormatConditions If Cnd.Interior.Color = ColorNo Then If Evaluate(Cnd.Formula1) Then Flag = True Exit For End If End If Next If Flag = False Then Flag = (Rng.Interior.Color = ColorNo) Else Cnt = Cnt + 1 End If Next Rng
CntInteriorColor = Cnt
End Function
色番号は下記のコードで取得できます。(A1セルの場合) Sub GetColorNo() Dim Rng As Range Set Rng = Range("A1") MsgBox Rng.DisplayFormat.Interior.Color End Sub
詳細までテストしてないので、うまくいくかどうかわかりません。すみません。
(ろっくん) 2018/01/22(月) 14:34
ありがとうございます!
入れ子のルールが途中で分からなくなってしまうので分かりやすい説明ありがとうございました。やってみます!
>半平太さん
ありがとうございます!ご指摘の通りでした・・あぶなかった・・・
>ろっくんさん
ありがとうございます!これはマクロではなく・・・自分で作った関数を使えるようにするなにかですか!?すごいです・・面白いですね・・。
色コードの所得方法まで書いていただけて助かります。
まだやったことのない部類なので、調べながら一度やってみたいと思います。
→まだどれも実行できていませんが(すみません、初心者過ぎて1つやるのに時間がかかってしまって・・)
取り急ぎお礼の気持ちを伝えたくて書き込みさせていただきました!
(ぴょこたん) 2018/01/23(火) 09:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.