[[20160325224313]] 『条件付き書式:途中が空欄なら赤く塗りつぶす。』(マリオ) ページの最後に飛ぶ

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

 

『条件付き書式:途中が空欄なら赤く塗りつぶす。』(マリオ)

  条件付き書式:途中が空欄なら赤く塗りつぶす。

 ■初期状態:B列において、B13セルより下は、すべて空白。
             また、B12セルには、タイトルが入力されている。
             ★なお、B列の表示形式は、文字列

 例えば、
 B13=4171200
 B14=空白
 B15=4009830
 B16=空白
 B17=5687124

 のとき、最終行をB17と認識して、途中のB14,B16セルだけを
 赤く塗りつぶしたいのですが、
 条件付き書式で、どのように設定したらいいでしょうか?

 なお、空白は、【 LEN(Trim(B14))=0 】で判定したいです。
 ご教授お願い申し上げますm(_ _)m ぺこり

< 使用 Excel:Excel2013、使用 OS:unknown >


条件付き書式の適用範囲はどのように整理されていますか?

(γ) 2016/03/25(金) 22:51


 「エクセル関数 最終行」といった検索をかけるといろいろな数式がでてきますね。
 学校内にも、たくさんあるようです。
 条件付書式の数式として使えない関数もあるようですから、そういった中で使えるものを用いて

 B列全体に =AND(ROW(B1) が 13以上、B1が空白,ROW(B1)がその数式で求めた最終行以下)

 ということで、できそうですね。

(β) 2016/03/25(金) 23:02


 To γ さん

 大事なこと書かずに、すいません。適用範囲は、B13:B47 です

 To β さん

 >B列全体に =AND(ROW(B1) が 13以上、B1が空白,ROW(B1)がその数式で求めた最終行以下)
 今、考え中です(#^^#)
(マリオ) 2016/03/25(金) 23:29

途中ということは、
・そのセルの直ぐ下のセルから、最終行(架空の、相当に下にあるセル)までに
・空白以外がある(COUNTAでわかる)
ことを条件に追加すればよろしいのでは?

(γ) 2016/03/25(金) 23:39


 To βさん、γ さん

 お陰様で、できました。

 過去ログを参考にしました。
[[20120417140102]] 『関数で最終行の取得』(ぽむ) 

 条件付き書式に次を設定
 ■適用範囲 → B13:B47 
 ■=AND(LEN(TRIM($B13))=0,ROW($B13)>=13,ROW($B13)<=MATCH(1,INDEX(0/($B$1:$B$47<>""),0),1))

(マリオ) 2016/03/26(土) 01:48


 適用範囲を B13以降にできるなら ROW($B13)>=13 は 不要ですよね。

(β) 2016/03/26(土) 06:00


 >なお、空白は、【 LEN(Trim(B14))=0 】で判定したいです。

 この条件の意味が分からなかったのですが、解説をお願いできないでしょうか?

(半平太) 2016/03/26(土) 14:43


 すみません。分かりました。

 スペースは、空白として取り扱うということですね。

 ちょっと気になったのですが、
    こっちは、単純な空白で有無を判断しているんですけど、仕様上、問題ないということですね。
            ↓
 INDEX(0/($B$1:$B$47<>""),

(半平太) 2016/03/26(土) 17:37


 To 半平太さん

 INDEX(0/($B$1:$B$47<>""),
 は空白ではない最終行を取得する計算なので途中の行にスペースのみのセルがあっても問題ありません。

 最終行のセルがスペースのみの場合は、そのセルは色が変わってしまいますが。。。

 B13=4171200
 B14=空白
 B15=4009830
 B16=空白
 B17=5687124
 B18=スペースのみ

 =AND(LEN(TRIM($B13))=0,ROW($B13)>=13,ROW($B13)=MATCH(1,INDEX(0/($B$1:$B$47<>""),0),1))
で上記例では、B14、B16、B18の色が変わります。

(sy) 2016/03/26(土) 19:19


 >最終行のセルがスペースのみの場合は、そのセルは色が変わってしまいますが。。。

 いや、ですから、そうなってもいいのかな? と思ったと言うことなんです。
 挟まれていないセルなのに色が付きますからねぇ。

 そこは、本人しか分かりません。

(半平太) 2016/03/26(土) 23:14


 半平太 さん、sy さん

 お返事遅くなりまして、すいません。
 考えて頂きまして、ありがとうございます。

 >最終行のセルがスペースのみの場合は、そのセルは色が変わってしまいますが。。。

 構想していた結果ではないですが、
 結果として、そのセル(スペース文字を入れてしまった最終行のセル)の色が変わった方がいいですね。
 逆に、色が変わってくれた方がいい(^^♪

 必要としてませんが、
 そのセルの色を変えないようにする方法は、どうしたらいいんでしょうか?考えていただかなくても、結構です…。
 ちょいと、気になりますが。

 >【 LEN(Trim(B14))=0 】について。
 場合によっては、【Trim(B14)=""】でもいいのですが、ダブルクオテーション【""】
 を使用したくない場合もあるので、【 LEN(Trim(B14))=0 】としました。

 普段、空白は、

 (1)  セルに何も入力されていない
 (2)  (半角または全角の)スペースがいくつか入力されている。
 (3)  数式の結果が「""」となっている。
      の3つを考えるようにしています。

 例えば、A1セルは未入力、A2セルは半角スペース1つ、A3セルは、数式欄に「=""」と入力。
 このとき、testを実行すると、A1,A3セルだけが黄色くなります。
 Sub test()
     Dim rng As Range
     Set rng = Sheets("Sheet1").Range("A1:A3")
     rng.SpecialCells(xlCellTypeBlanks).Interior.Color = vbYellow
 End Sub

(マリオ) 2016/03/27(日) 17:36


こんばんわ。

To 半平太さん

そうですよね。
仕様と言う言葉から連想するべきだった。
すいません。

To マリオさん

最終行のセルが、数式の結果が""の時や、スペースのみの時に色を付けたくない場合は、下の式とかだと大丈夫のはずです。

=AND(LEN(TRIM($B13))=0,ROW()<=LARGE(INDEX((SUBSTITUTE(SUBSTITUTE($B$13:$B$47," ","")," ","")<>"")*ROW($B$13:$B$47),0),1))

(sy) 2016/03/27(日) 18:55


 To sy さん

=AND(LEN(TRIM($B13))=0,ROW()<=LARGE(INDEX((SUBSTITUTE(SUBSTITUTE($B$13:$B$47," ","")," ","")<>"")*ROW($B$13:$B$47),0),1))

 わぉ〜、凄い!!! 
 これなら、スペース文字を入れてしまった最終行のセルの色、変わりませんね。
 数式ですが、ちんぷんかんぷんです(^^♪
 ありがとうございます(泣)

(マリオ) 2016/03/27(日) 23:54


コメント返信:

[ 一覧(最新更新順) ]


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