「お昼の放送」の思い出

Excel2010で塗りつぶしたセルの色だけを印刷しない方法はありますか?
色の付いた画像やフォントの色はそのままカラーで印刷したいと考えています。

ググり方が悪いのか、[ページ設定]で[白黒印刷]にチェックくらいしか見つかりませんでした。
これではフォントや画像も白黒になってしまうので、何か方法があったら教えて下さい。

ちなみにセルを塗りつぶす理由は、細かい表なので誰でも入力位置が分かるように、
入力すべき所だけ薄い色で塗りつぶしています。
印刷時にはセルの塗りつぶしだけ印刷したくないということです。

よろしくお願いします。

A 回答 (7件)

案2-2



「値のみ貼り付け」というのは、あるセルまたはセル範囲をコピーして余所に貼り付ける際、右クリックなどで「形式を選択して貼り付け」を選び、「値」をクリックしてから貼り付けることをいいます。これを行うと、書式は貼り付けられないので、セルや文字の色、書体などは貼り付け先には反映されず数や文字のみが入力されるし、数式をコピーして貼り付けた場合は、数式の計算結果のみが入力され、貼り付け先は数式ではなくなるのです。だから、例えばB1セルに「-3」と入力されているときに「=b1」が入力されているセルをコピーしてどこかに値のみ貼り付ければ、「-3」のみ貼り付けられるのです。

「ユーザー定義書式」というのは、セルに表示される数字や文字の体裁を、入力したデータそのものとはちょっと違ったふうに見せることができる機能です。例えば、マイナスの数値が入力されているときだけその文字に色を付けたり、「100」と入力されているセルに見かけだけ「100円」と表示させることができます。この機能を使うと、「0」というデータ専用の書式として「表示しない」というのを設定することが可能ということです。普通、「0」を入力すると当然ながら「0」が表示され、印刷もされますが、「書式」で見えなくさせ、けれどもカーソルをそこに置けば「0」は確かに入力されているという状態にするわけです。


案3-2

=($A$1="入力")*(b1=0)
あるいは
=and($A$1="入力",b1=0)

といった感じです。A1に「入力」が入力されていて、かつB1が未入力ならば、上の式はTRUE*TRUE=1となるので、TRUE(1は同等)の条件として扱われる(条件付き書式がオンになる)いう解釈です。

=if(($A$1="入力")*(b1=0),1)
あるいは
=if(and($A$1="入力",b1=0),1)

というふうにIF関数を混ぜて書くことは可能ですが、ご覧のとおり今回の場合は、IFを使っても書けるというよりは、式が長くなるだけなのでIFは必要ないといった感じです。他の関数を考えてみても同様となります。


案4-2

印刷用のシートは、1枚にすることもできるかと思います。1日~31日の表を縦に並べておくなどすればよろしいかと。改ページプレビューで1日分の表が1ページとなるように(1シートに31ページ分の印刷範囲となるように)でも設定しておけば、プリンタで印刷する際のページ指定がそのまま日付の指定をしていることになりますね。同様に、入力用のシートも1枚のシートにまとめる手もあるかもしれませんね。なお、印刷用にシートを分ける理由は、分かりやすさのためだけなので、既存の31枚のシートのどこかに印刷用の範囲を指定することもできなくはありません。

また、印刷用のシートの用意はファイルの作成者である質問者さんがしてあげれば、入力する人たちに難しい操作をしてもらう必要はないでしょう。最初に31枚のシートから印刷用のシートへリンクをつなげておくのに時間がかかるだけで、あとは繰り返し使えるでしょう。


>補足とお礼の使い方がよく分かっていなかったので、申し訳ありませんでした。
 こういう場合はお礼に書くのでしょうか。

ご理解くださって、ありがとうございます。

要は、やり取りが行われればいいということだと思っておりますので、補足欄だろうとお礼欄だろうと、私の場合はこだわりません。実際、質問者さんの中には、挨拶、補足説明、追加質問をまとめてお礼欄に書かれる方もいらっしゃいますし、まとめて補足欄に書かれる方もいらっしゃるようですよ。


>質問が締め切られると思っていたので、補足に書きましたが今回はお礼に書いてみます。

ご質問が勝手に締め切られることはないです。逆に、明らかに質問は解決したのに(数年とか)長期間、締め切りの手続をせずに放置する質問者さんが後を絶たず、困っております。だいたい問題が解決したら、ちょっとだけ待ってみて、そう何日も間を置かず締め切られるといいんではないかなというのが個人的な感覚です。回答者から見ると全然解決していない質問なのに、No.1の回答が寄せられてから2、3分したら電光石火で締め切る人とかもいたりしますが(苦笑)
    • good
    • 1
この回答へのお礼

遅くなって申し訳ありません。

[案2-2]
理解できました。詳しく説明して頂き、ありがとうございました。

[案3-3]
1行目の数式で完成しました。
IF関数だとばかり思い込んでいたので、大変勉強になりました。
おかげ様でまさに望み通りの表ができました。

[案4-2]
会社で1日は1シートという変な決まりがあるので、1シートに31日分まとめられないのです。
見る時にスクロールするのがどうとかこうとかで。
よくわかりませんがw

[補足・お礼について]
この質問は解決しましたので、締め切りたいと思います。

[感謝]
回答して下さった皆さん、解決までお付き合いくださったMarcoRossiItalyさん、
本当にありがとうございました。
おかげ様で思い通りの表が完成しました。
心から感謝しています。

お礼日時:2012/04/20 04:39

No.4・5です。

何度もすみません。みんなに入力してもらう値が数値とは限らず文字列も考えられる場合は、「=if(sheet1!b1,sheet1!b1,"")」という式を下のものに差し替える必要があります。(数値のみと分かっている場合でも下の式にしておいて差し支えありません。)

=if(sheet1!b1<>"",sheet1!b1,"")
    • good
    • 0
この回答へのお礼

いろいろ考えて下さって感謝しています。
ありがとうございます。

お礼日時:2012/04/18 10:24

すみませんNo.4で、「$」マークを付け忘れました。

No.4の「=a1*(b1=0)」という式を次のとおり差し替えます。説明の内容に変更はありません。

=$A$1*(b1=0)
    • good
    • 0
この回答へのお礼

お礼でよかったみたいですね。
今からお礼していきます。
ありがとうございます。

お礼日時:2012/04/18 10:22

書式とかにこだわると趣味の世界って感じになっていくので考えたこともないけど、じゃあこんなのはどうですか?



案1
みんなが入力を終えたら条件付き書式を解除する。

案2
計算し、空白セルに「0」を入力することでセルの色を消すが、入力値が「0」であるセルだけ文字を表示させないようにする。具体的には、「=b1」という式をどこかのセルに入力すると、B1セルが空白の場合は「0」を返す。空白でなければB1と同じ値を返す。このセルをコピーしてB1に値のみ貼り付け。B1セルに対して「ユーザー定義書式」として「G/標準;-G/標準;」を貼り付け。「ユーザー定義書式」のありかは、セルの右クリックなどで「セルの書式設定>表示形式タブ>ユーザー定義>種類ボックス」。

案3
No.3で述べた「数式を使用して…」において、「次の数式を満たす場合に…」というボックスに「=a1*(b1=0)」という式を貼り付け。式中に「=」が2回出てくるが、こんなもんなので気にせず入力。A1セルに「0」以外の数字が入力されているときは条件付き書式がオン、「0」が入力されているか入力されていないときはオフとなる。オンのとき、B1が未入力ならこの式を設定したセル(B1セルなど)に色が付く。

案4
みんなに入力してもらうシートをコピーし、印刷用のシートとする。印刷用のシートは色の設定を解除しておく。コピー元のシート名が「Sheet1」だとすると、印刷用のシートのB1セルに「=if(sheet1!b1,sheet1!b1,"")」と入力すれば、コピー元のB1が未入力でなければ同一の値を返し、未入力なら空文字列を返すので見かけは空白と同様になる。

皆様にお礼をしてくだされば嬉しく思います。
    • good
    • 1
この回答へのお礼

いろいろ案を出して頂いてありがとうございます。
遅くなって申し訳ありません。
一つ一つ試していたら時間がかかってしまいました。


案1
PCに詳しくない人たちが入力・印刷しなくてはいけないので、この方法は難しいです。

案2
大変申し訳ないのですが、私の頭では理解できませんでした。

案3
この案が一番しっくりきました。
「印刷時にはA1に0を入力して下さい」と注意書きをつくり、
印刷してもらうという方法を取ろうと思います。
これについて、もう少し突っ込んだ質問をさせて下さい。
A1にドロップダウンリストで[入力]と[印刷]という項目をつくり、
[入力]になっている時は、塗りつぶしあり。
[印刷]にすると塗りつぶしが消える。
という条件付き書式はどういう数式になるか教えて下さい。
IF関数だと思うのですが、うまくいきません…。
ドロップダウンリストの作り方はわかります。

案4
ブックに31枚のシートがある場合、シートごとにコピーしなければいけないのですよね?
4月-記録表.xlsxファイルに1日~31日までのシートがあります。
シートごとに印刷用シートを作らなければいけないのであれば、現実的ではありません。


>皆様にお礼をしてくだされば嬉しく思います。
補足とお礼の使い方がよく分かっていなかったので、申し訳ありませんでした。
こういう場合はお礼に書くのでしょうか。
質問が締め切られると思っていたので、補足に書きましたが今回はお礼に書いてみます。

お礼日時:2012/04/18 10:20

No.1さん、2さんの方法も良いと思います。



データを入力すると同時に、そのセルの色が消えるという設定もできますよ。「条件付き書式」の機能を使います。

通常の「セルの書式設定」による「塗りつぶし」(質問者さんがお使いの機能)で色塗りしていると、「条件付き書式」とは関係なく色が付いてしまいます。なので、そちらは解除しておいてください。それから、次のように操作します。

(1)
設定したいセル範囲を選択した状態で、リボンの「ホーム>条件付き書式>新しいルール>指定の値を含む…」をクリック
(ちなみにここで「数式を使用して…」を選んだ場合、かなり複雑な条件指定が式(関数など)により可能です)

(2)
「次のセルのみを書式設定」プルダウンで「空白」を選択

(3)
「書式」ボタンの「塗りつぶし」タブで色を設定

この回答への補足

なるほどー。
条件付き書式設定のことは頭にありませんでした。

しかし、入力しないで空白のままにしておくセルもあるので、
その方法だと印刷時に入力空白セルは塗りつぶしの色が出てしまいますよね?
それだとまずいのです。
条件付き書式設定の[数式を使用して]でうまい数式はありませんか?

補足日時:2012/04/16 14:14
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/04/18 10:27

シートをコピーして、


全範囲を選択して
セルの塗りつぶしをなしにして印刷し、
印刷が終わったらそのシートを削除するのが簡単でいいと思います。

この回答への補足

その方法を一番先に考えましたが、
複数人で書き込む表なので、手間のことを考えて却下しました。

補足日時:2012/04/16 14:03
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/04/18 10:26

書式設定でセルに色を付けずに、入力するセルのみセルの保護を解除(ロックを外す)し、シートを保護するにしたらどうですか。

但し、シートを保護する際「ロックされたセル範囲の選択」のチェックを外します。Enterするたびに入力セルへ移動します。

この回答への補足

ロックはもうしてあります。
入力するセル以外をロックしてあり、
(細かい表なので)書き込める状態になっている入力するセルに、
入力者がわかりやすいように色を付けたいということです。
でも印刷には反映させたくないということです。

補足日時:2012/04/16 14:01
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/04/18 10:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A