2012年05月22日

Excel(2007)条件付き書式のコピーにまつわる苦労(上級?)

@「条件付き書式は、“上書き”ではなく“重ね合わせ”される」

あるセルをコピーしたとき、
値や(通常の)書式は上書きされる(いままでのプロパティは消える)が、
条件付き書式だけは、元の「書式ルール」とコピーされてきた「書式ルール」が
両方活きる仕様になっている。

うっかりカタカタとコピーしていると
あっという間に
スパゲッティな書式ルールが増殖して、2003で開けなくなる。
もちろんその後のメンテも手間だ。

このとき2007では表面上
何も起きてないように見えることが多いから、始末が悪い。
2010では改良されたのか?
オプションで選択とか。



A「適用先(範囲)に隣接してコピーすると、適用先が自動拡大する」

シンプルな使い方をしている分には便利な機能なのだが、
以下のようなケースでは@と相まってヤッカイ。

【前提】
これは大きな表の一部で、各範囲は実際には、いちいち個々に手入力するには面倒な位のサイズがある。
また広範にゼロ値の表示が必要とされていて「オプション」のゼロ値表示はON。

excel_1.png

範囲Aには各セルに値や式が入っているが、
たとえばB3の入力が無い(あるいはゼロ)場合は、見やすさのため、列B(B3:B7)を非表示にしたい―とする。
※「その月はその商品の売り上げが無い」とか。

この場合、通常は、範囲Aの中で数式が混合参照されるよう、以下のように入力する。

書式)フォント色=白
適用先) $B$3 : $D$7
数式)=(B$3=0)

これで例えばC3がゼロの場合でも、列Cが白文字になってくれる。これはこれで便利。
範囲C(横方向)へのコピーも出来る。

でも、ここからが問題で、
この一群の行を増やそうとして(集計する商品を増やす・・イメージ)、
「行コピー」→「コピーしたセルを挿入」
で(これも定番操作のはず)、範囲Bを作ろうとすると、

適用先) $B$3 : $D$12
数式)=(B$3=0)

つまり全体で1つのルールとなってしまい、
思うような結果にならない。

また、それでは・・と捻って、
「コピーしたセルを挿入」する場所を、1ブロック飛ばした行13の前にしたりすると
ますますトリッキーな結果になる。(ここでは説明しませんが。)

ポイントは以下の2つ。
<a>適用先を自動連結するかどうか選べるようにする。
<b>数式を、適用先(範囲)を基準としたローカルセル番地で扱えるようにする。
(ローカルの中でも混合参照できるような)
これも2010では実現しているのでしょうか?

まあ、数式に OFFSET をガシガシ書いたりすれば、出来ないことはなさそうだけど。
私の場合は、
範囲に「条件付き書式を、クリア→所要のルール設定する」マクロを書いて、
手間を減らすことでヨシとしたけど。
posted by pencil at 11:52| Comment(1) | TrackBack(0) | パソコン+スマホ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
スカーフ ブランド 人気
Posted by christian louboutin japan at 2013年07月17日 04:14
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/271011227
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック