『列全体に条件付き書式でセルや文字に色をつけたい』(あき) 条件付き書式で教えてください。 シートが異なる値を参照するときは名前付けをすることまで分かりましたが、 名前は一つ一つのセルにつけないとならないのでしょうか? データが3000件ほどあり、毎月データ数が変わるので、 列すべてに範囲指定したいのです このような場合は条件付き書式には不向きなのでしょうか。 一つのセルに設定し、多めにコピーするしかありませんか? Excel2003,WinXP ---- > シートが異なる値を参照するときは名前付けをすることまで分かりましたが、 > 名前は一つ一つのセルにつけないとならないのでしょうか? 雰囲気としてはそんなことないと思いますが、ご説明だけでは状況がよく分かりません。 セル一つ一つに名前をつけなければならないと思った事情をご説明ください。 (もしくは、列全体に名前を付けてよければ問題ないのだが、それでは上手くいかないと思った理由の説明) (半平太) 2009/09/22 08:49 ---- シート1のA101:A200と シート2のC301:C300を比べて一致しているところに色を付けると します。 シート2の対象範囲に SHEET2_Cのように名前を付け、シート1の範囲を選択してから 条件付き書式で =AND(A101<>"",INDEX(SHEET2_C,ROW()-100)=A101) で、データが一致するところに色が付きます。 参照先と参照元の位置に相関関係があれば、範囲全体にラベルを付けてINDEX等で位置を 指定してあげればできませんか。 (Mook) ---- コメントありがとうございます。 お返事遅くなってすみません。 文章だとわかりにくいので、例題を書きます。 余りがある金額の入力をチェックしたいのです。 シート1)  A列  ・・・ E列  F列 1 商品名  ・・・  値段  個数 2 ノート  ・・・   100円  3 3 ペン   ・・・  98円  1 4 消しゴム ・・・  55円  1 5 本    ・・・ 150円 7  シート2)  A列 ・・・・・・ X列  Y列 1 商品名 ・・・・・・  単価  余り 2 ノート  ・・・・・・  99円  1 3 ペン   ・・・・・・  98円  4 消しゴム ・・・・・・  55円 5 本    ・・・・・・ 21円 3    この時、シート2のY列をみて、余りが1、2、3の時、シート1のE列の値段に各色を付けたい。 余りの値は、1〜3しか入りらない仕組みです。 Excelは簡単な表計算と簡単な関数しか使ったことが無く、条件付き書式を使うのは今回初めてです。 シート2のC列全体に名前(仮に"余り"とします)を付けて、「セルの値=余り=1」の時としようとしたら、 出来ませんでした。 こんな単純では出来ないのでしょうか? どちらかと言うと、余りが入るのは全体のデータ内では希です。 色がつかない箇所が多いです。 データの行数は毎月2,000〜3,000行です。データの並びは両方のシートともに同じ並び順です。 Mookさんの言うとおりに条件付き書式をしたら出来ました。 ですが、列全体に名前付けをするとき、ROW関数はどうやって使ったら良いのでしょうか。 ROW関数は何行目かを調べることになるので、やはりある程度範囲指定して名前付けをするしか方法がないのでしょうか? お返事頂いてからネットで検索してみましたが、知識がないのか苦戦しています。 それから、=AND(A101<>"",INDEX(SHEET2_C,ROW()-100)=A101)と言う式の-100が分かりません。 「シート1のA101:A200と シート2のC301:C300」とあるので、-100は300-200かと思いましたが違う様で、 この条件式の時、ROWはSHEET2_Cの範囲を見ているのですよね? INDEX関数で範囲指定しているのがSHEET2_Cの範囲見ているのだと思っていますが、違うのでしょうか? それとも、シート1の範囲が100行なので、-100なのでしょうか。 あらかじめ5,000行ほどに条件付き書式をし、 それ以上の件数が増えたときに考えた方が話が早いかと思って行の位置を変更してみましたが思うように出来ません。 長々と書いてわかりにくくてすみません。 お手数かけますが、教えていただけますでしょうか。 (あき) ---- Sheet1とSheet2の商品名は同じものが並んでいて、 Sheet2の同じ行位置でY列が1〜3のとき色を付ける(条件付き書式を設定する)ということでしょうか? そうであれば、商品名を探す必要はなく、同じ行位置のY列の値を見ればよいので Sheet1のE列を選択して、数式が =INDIRECT("Sheet2!Y" & ROW())=1 といった感じで良さそうに思いますが・・・こんな単純なことでは無かったりしますか?   (Hatch) ---- シート2のA列を名前定義 (仮に 「商品名」) シート2のY列を名前定義 (仮に 「余り」) 条件付き書式 数式が =SUMIF(商品名,A2,余り) By しげちゃん Sheet1とSheet2の商品名は同じものが並んでいる場合は (Hatch)さんの回答で・・ ---- > この時、シート2のY列をみて、余りが1、2、3の時、シート1のE列の値段に各色を付けたい。 > 余りの値は、1〜3しか入りらない仕組みです。 Sheet1の商品とSheet2の商品の並び順が全く同じ(行番号も一致)で、 余りの値が1〜3しかなければ、こんなので出来ましたが。。。 1.Sheet1のE2セルを選択してから、メニュー[挿入]→[名前]→[定義] と辿り  (1) 名前ボックスに 『余り』  (2) 参照範囲に   『Sheet2!$Y2』 と入力して、[OK]ボタンクリック 2.Sheet1のE列全体を選択してから、メニュー[書式]→[条件付き書式] と辿り  条件を『数式が』にして、数式を『=余り』、「書式」をお好みに設定後、[OK]ボタンクリック (半平太) 2009/09/22 16:09 ---- Hatchさん、そうです。その通りです。 データは各シートともに順番通りに載っているので、こちらの内容で問題ありません。 慣れないので回りくどい質問になってしまってすみません。 ありがとうございます。 INDIRECT関数は、計算式の中で使える「セルのアドレス」に変換してくれるものなのですね。 この数式を解読すると、 「Sheet2のY列の行の値が=1だったら、と言う文字列をセルのアドレスにしてくれている」 と言うことで良いでしょうか? ちゃんと理解しておかないと、今後応用出来ないと思うので・・。 (あき) しげちゃんさん、ありがとうございます。 条件付き書式 数式が =SUMIF(商品名,A2,余り)と言う式でも出来ましたが、 1、2、3の時に色を変えたいのですが上手に出来ません。 sumifと言うのは、商品名の中からA2と同じものを探し出して、余りの合計値をとる様なので、 色分けするのはどうやるのが良いのでしょうか? (あき) 半平太さん、ありがとうございます。 ですが、私のPCがさっき壊れてしまい、今2台目のExcel2007で作成しているので、 条件の選択に『数式が』と言うのが無く選べません。。。 『数式を使用して、書式設定するセルを決定』しかなく、 そこに「=余り」としても色が付きません。 すみません。連休明けに会社のPCで確認させて頂きます。 ありがとうございます。 (あき) ---- >条件付き書式 数式が =SUMIF(商品名,A2,余り)と言う式でも出来ましたが、 >1、2、3の時に色を変えたいのですが上手に出来ません あとから条件を付加するのではなく はじめからそのように質問して下さい 余りが1の場合 =SUMIF(商品名,A2,余り)=1 余りが2の場合 =SUMIF(商品名,A2,余り)=2 By しげちゃん ---- しげちゃんさん、ありがとうございました。 長々と記載していたので、条件記載していたのがわかりにくくて申し訳ありません。 お手数わずわらせてすみませんでした。 (あき) ---- >連休明けに会社のPCで確認させて頂きます。 Hatchさんの回答を見逃してしまいました。m(__)m 私は『各色を付けたい』の「各」を軽くみたので、 単に1〜3なら色を付ける、と云う案でしかないです。 なので、私の回答は無視してください。 会社で幾つも試す必要はありません。 Hatchさんの案で十分です。 (半平太) 2009/09/22 18:10 ---- > 「Sheet2のY列の行の値が=1だったら、と言う文字列をセルのアドレスにしてくれている」 > と言うことで良いでしょうか? 数式の解釈はそのようなことです。 > 『数式を使用して、書式設定するセルを決定』しかなく、 Excel2003までの「数式が」というのは、Excel2007ではこれが同じものです。 条件付き書式→ルールの管理でルールのところに「数式:=・・・」と表示されます。 ちなみに「セルの値が」は「セルの値=・・・」となります。 ちょっと扱い方が変わって、戸惑う操作になったような気がします。  (Hatch)