【Excel】他セルの値に応じて、セルを非表示にする方法。
エクセルの、こんなご相談をいただきました。
先日。お客様から、こんなご相談をいただきました。
これ一見すると、単なる『単価×数量=』で金額を求める
エクセルの表なのですが、そのご相談というのが…
数量が1のときには、単価と金額が同じになるのだから
表をすっきりと見せるために、単価を表示させなくしたい、というもの。
たとえばこの表の場合だと、C列に1が入ったら
その同じ行のB列は非表示にしたい、ということですね。
単に空白にしたいだけだったら、
IF関数を用いて””(空白)にする、なんてテも考えられるのですが
今回の場合はやっかいなのが、空白にしてしまうと
金額が計算できなくなってしまう、ということ。
要は見えなくしたいだけ、印刷したくないだけ、という
ご要望なんですね。(^_^;)
実は種明かしをしてしまえば、『なーんだ』というテクニックなのですが
検索しても、あまり詳しく書いてあるサイトが見つからなかったこと
そして、こういう要望は意外とありそうだ、ということで
ここに紹介することにしました。
プリンタでの、『文字色が白』とは?
そもそも一般的なプリンタというのは、シアン・マゼンタ・イエローの
3色を混ぜ合わせて、色を表現しています。(減法混色)
全色を100%ずつ混ぜれば黒に、3色すべてを0%にすれば白になるわけですから、
印刷結果を白く見せたいというところには、
そもそもインクを付けない仕組みになっています。
白インクが使えるという特殊なプリンタを除いては、
たとえば色のついた紙に印刷したとしても、
白字の部分は印刷されないから見えない、ということになるんですね。
・参考サイト
減法混色:げんぽうこんしょく【印刷専門用語:げ】 | 印刷研究室
条件付き書式を使って、非表示にしたいセルの文字色を“白”にする。
他セルの値に応じて、セルを白字にしたいというのであれば
エクセルの、“条件付き書式”の出番です。
IF関数やセルの書式設定(表示形式・ユーザー定義など)ではできませんね。
前置きが長くなってしまいましたが、手順を説明してみましょう。
- 非表示にしたいセルを選択して、[条件付き書式]を設定する。
非表示にしたいセルを選択して、[条件付き書式]→[新しいルール]を
クリックしましょう。
Excel2007以降であれば[ホーム]のリボン、それ以前のバージョンでしたら
[書式]メニューですね。
ちなみに、この後に説明する注意事項さえきちんと守ってもらえれば
複数のセルへの一括設定も可能です。 - ルールの種類は[数式を使用して、書式設定するセルを決定]を選びます。
- [次の数式を満たす場合に値を書式設定]に数式を入力する。
=数量が表示されているセル=1 と入力しましょう。
※ここに注意!- 先頭の = も忘れずに入力してください。
- 数量が表示されているセルをクリックすると、たとえば“=$C$2=1”のように絶対参照になりますが、F4キーを3回押すなどして、必ず“=C2=1”のように相対参照の形にしておいてください。
複数セルへ一括設定するときや、セルの書式をコピー/貼り付けをするときに必要になります。
- 条件式がYesの場合には、文字色を白にする。
[プレビュー]隣の[書式]をクリックして、文字色を指定します。
[セルの書式設定]が表示されたら、[フォント]タブの[色]を
白に変更してください。
2つ表示されているダイアログボックスの、[OK]をそれぞれクリックして
設定を有効にすれば、ほらこの通り。(^^)v
“数量が1の場合は、単価を表示しない”という設定の一丁あがりっ!です。
ただ見えない、というだけですから
セルをクリックすれば、上の数式バーには値が表示されるし
計算にも、まったく影響がありません。
2の時に非表示にするのであれば=C2=2に、3であれば=C2=3にというふうに
=の後を、用途に応じて変更してお使いください。
まとめ
数式のところで紹介した、“=C2=1”のような考え方は
プログラムを組んだことがある方には、なじみがあると思うのですが
そうでない方には、(?_?)かもしれませんね。
“C2=1”がYesかNoか、という式だと思ってください。
気づいてしまえば、そんなに高度なテクニックでもないのですが
まさに“コロンブスの卵的テクニック”ということで
ちょっとドヤ顔まじりに、書いてみました。(^^)<
こんにちは!
仕事でもExcelをよく使うのですが、
こういった技の知識は非常に助かります!
これからも拝見させていただきます。
八幡 遼介様。コメントありがとうございます。
hamazoのスタッフさんでいらっしゃるんですね。
実は、技術情報ネタはあまり書いていないのですが、こうして『助かります!』と言ってくださると、本当に嬉しいです。(^^)
今後とも、どうぞよろしくお願いいたします。<(_ _)>