• 締切済み

複数の条件での行の色分けを自動化したい

あるセルに特定の値が”表示”された際に、該当のセルがある行を同じ色に分けたいです。 現在、仕事であるHPのデータ(ランキングサイトです)をエクセルにインポートして、 そのシートを丸ごとコピーして値を引っ張って表示するシートを使っています。 ='1005分貼り付けシート'!D11 ↑みたいな式がズラズラ並んでいるシートです。 こちらを使用して、同じブックにインポートしたHPのシートを追加して、 上記数式のシート名部分を置換している状態です。 置換し終えた後に、特定の文字列が入っている行を色分けしているのですが こちらを現在手作業で行っているので、自動化したいのです。 ですが、色分けの条件が複雑で「2つのセルの値が合致したら」というようにしたいのです。 たとえば、 ”D10が「靴」でE11が「ピンク」だったら、E行は青にする” というようなものです。 色分けの種類は3色なのですが、条件が何十とあるため、条件付書式設定は使えません。 何か良いアイディアはないでしょうか。 よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

内容は複雑そうだが、質問の説明は簡単で内容が良くわからない。 質問に、適当な模擬実例をあげないからそうなるのだ。 >D10が「靴」でE11が「 このような同じ行でない範囲の語句のありようも問題にするのか。 ーー アイデアが出たらVBAコードは作れるだけの経験はあるのか。 これなど、VBAコードを作ってくださいという丸投げではないのか。先般の新聞をにぎわした、WEBで回答を得てすます、とかの批判がある中、自分で良く考えて質問点をしぼって質問すること。 文章を扱うなどは、エクセルVBAでは不適だ。表計算ソフトは景観の仕組みを「主に提供するもの。 文章の語句の相互関連を処理する、便利な仕組みは何もない。 文章から語句を切り出すのもままならないのだ。 「何でもエクセルで」の考えが間違っているとおもう。 ーー 質問にはエクセルのバージョンを書いておくこと。特に条件き書式は大幅に変わった個所なのだ。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

>条件が何十とあるため、  その条件が、どの様なものなのかを説明して頂かない事には、アイデアの出し様がありません。 >='1005分貼り付けシート'!D11 ↑みたいな式がズラズラ並んでいるシートです。 >”D10が「靴」でE11が「ピンク」だったら、E行は青にする”  つまり、文字列が表しているセルが、 '1005分貼り付けシート'!D11 の場合は、 その1つ上の'1005分貼り付けシート'!D10セルと、 その右隣の'1005分貼り付けシート'!E11を参照し、 1つ上のセルに入力されているデータが「靴」で、右隣のセルに入力されているデータが「ピンク」である場合には色を付けると考えれば宜しいのでしょうか?  そして、参照するセルは、必ず「文字列が表しているセルの1つ上」のセルと、「文字列が表しているセルの右隣」のセルの2箇所のみで、 1つ上のセルが「靴」時に、右隣のセルが「黒」の場合は、又別の色を付けると言った条件になっているのでしょうか?  もし、そうだとすれば、例えば、 セルの色を赤にする条件が、 1つ上のセルが「靴」で、右隣のセルが「ピンク」である場合と、 1つ上のセルが「下駄」で、右隣のセルが「赤い下駄」である場合と、 1つ上のセルが「サンダル」で、右隣のセルが「赤いサンダル」である場合であり、 セルの色を黄色にする条件が、 1つ上のセルが「靴」で、右隣のセルが「黒」である場合と、 1つ上のセルが「下駄」で、右隣のセルが「黄い下駄」である場合と、 1つ上のセルが「サンダル」で、右隣のセルが「黄いサンダル」である場合であり、 セルの色を青にする条件が、 1つ上のセルが「靴」で、右隣のセルが「茶」である場合と、 1つ上のセルが「下駄」で、右隣のセルが「青い下駄」である場合と、 1つ上のセルが「サンダル」で、右隣のセルが「青いサンダル」である場合であるとした場合には、  まず、適当なSheet(例えばSheet2)に、次の様な表を作成しておきます。       A列      B列      C列      D列 1行目           赤      黄      青 2行目    靴     ピンク     黒      茶 3行目   下駄    赤い下駄   黄い下駄   青い下駄 4行目  サンダル  赤いサンダル 黄いサンダル 青いサンダル  そして、例えばA1セルの条件付き書式設定では、 セルの色を赤にする場合の設定は、書式が赤で、「数式が」の =VLOOKUP(OFFSET(INDIRECT($A1),-1,),INDIRECT("Sheet2!A:D"),2,FALSE)=OFFSET(INDIRECT($A1),,1) としておき、続いて追加ボタンをクリックしてから、 セルの色を黄色にする場合の設定として、書式が黄色で、「数式が」の =VLOOKUP(OFFSET(INDIRECT($A1),-1,),INDIRECT("Sheet2!A:D"),3,FALSE)=OFFSET(INDIRECT($A1),,1) としておき、同様にして、 セルの色をにする場合の設定は、書式が青で、「数式が」の =VLOOKUP(OFFSET(INDIRECT($A1),-1,),INDIRECT("Sheet2!A:D"),4,FALSE)=OFFSET(INDIRECT($A1),,1) という条件を追加してから、条件付き書式設定の[OK]ボタンをクリックすると良いと思います。

ueharagi
質問者

補足

ご丁寧な回答、ありがとうございます! 条件については、自分でも計算式を作っていて >”D10が「靴」でE11が「ピンク」だったら、E行は青にする” の条件で結構詰まってしまったので、元の表をいじって下記のようにすることにしました。 ”D列のどこかが「靴」で同じ行のE列が「ピンク」だったら、その行は青にする” 書き方が非常に分かりづらく、間違っていたために皆さんに誤解を与えてしまい…申し訳ございません。 また、条件ですが、他にも例を書くとこんな感じです ”D列のどこかが「服」で同じ行のE列が「黄色」だったら、その行は青にする” ”D列のどこかが「ファイル」で同じ行のE列が「あめ色」だったら、その行は青にする” ”D列のどこかが「ファイル」で同じ行のE列が「赤」だったら、その行は黄にする” ”D列のどこかが「カレンダー」だったら、その行は黄にする”

全文を見る
すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.4

行と列の使い分けがちょっと不明なんですよね… あと、色付けの条件が一つしか提示されていないのも何とも。 せめて3個くらいはサンプルで提示しておいてもらえるとこちらも検証しやすいんですが。 タイトルが行になっているので行(横範囲)を色づけするという前提で進めたいのですが、 例えば各行に条件を入力しておくというのはどうでしょう。 F列を青条件、G列を別の色条件、H列を残りの色の条件として、(青以外の色がわからないので…) 質問文にある内容でしたら、G列の青にしたい行番号(10か11になるのかな)に =AND(D10="靴",E11="ピンク") と入力。靴とピンクの条件が合えばこのセルにはTrue、合わなければFalseと表記されます。 次に条件付書式で、データの範囲を選択し、 A1にアクティブセルがあるとしたら、 数式が→$F1=True  色→青 同様に、 $G1=True 別の色 $H1=True 残りの色 と設定します。 これで、条件が合った時に色がつきせんか? …でも、作業列使えるのかなぁ?

全文を見る
すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.3

>何十とある条件を全て数式として入力していくのは手間がかかりすぎるというのが正直なところです 条件式の作成に関してはマクロであっても同じ事が必要、セルの間数式の場合ウィザードが利用できる分操作は楽のはず >条件というのが大体月5~10件追加されていくので… であればなおの事、マクロでの対応は厄介になってしまいますね 複雑な条件式を如何に簡略化するかその辺りの工夫が必要になってきます (一定の規則性を探すとか、割付けるとか) ただ、その条件全てを理解していないとアドバイスや、条件式の提示は困難ですね

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>”D10が「靴」でE11が「ピンク」だったら、E行は青にする”  ⇒E行が不明ですが次の方法は如何でしょうか。 (1)別シートに条件表を作成し、表全体を名前定義する(例えば、A列に「靴ピンク」、B列に「1」、「2」又は「3」) (2)条件付き書式設定で「数式が」を選択、=VLOOKUP(D10&E11,定義名,2,FALSE)=1、=2、=3と3つ設定すれば出来ると思いますが如何でしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

>種類は3色なのですが、条件が何十とあるため、条件付書式設定は使えません エクセルのバージョンが2007以降ではないと言うことですね 色分けが3種類であれば条件付書式を使うほうがわかりやすい 条件が何百あろうと最終的な結果が ・塗りつぶし無し ・塗りつぶし1 ・塗りつぶし2 ・塗りつぶし3 の4パターンであれば条件付書式で対応できます、計算式が長く複雑なため条件付書式への計算式入力が困難な場合は、どこかの作業セルで条件計算を行いその結果で条件付書式を設定すればいい 例:E列の色付け”D10が「靴」でE11が「ピンク」だったら、E行は青にする” の場合であれば 作業セル=IF(AND(D10="靴",E11="ピンク"),1,"") 条件付書式では、数式を選択し=作業セル=1 で設定すればいい、複数の条件式から判定するのであれば、OR関数やAND関数を使用して判定するようにすればいい

ueharagi
質問者

お礼

早速のご回答、ありがとうございます! ご指定いただいた方法で対応はできたのですが、 何十とある条件を全て数式として入力していくのは手間がかかりすぎるというのが正直なところです。 しかも、条件というのが大体月5~10件追加されていくので… 別に条件シートを作り、そこに条件表を置いて、そのシートから作業セルに値を入れるなどする方法が一番楽でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAの条件分岐を利用したセルの色分け

    VBAの条件分岐を使用してセルの色分けをしようとしています。 (条件が5つあり、条件付書式では対応できないためです。) 得点による色分けを行いたいのですが、色分けを行いたいセルに関数(ただ単に「=(イコール)」です)を入れて他のセルを参照する様にしたら、色分けが無効になってしまいました。 例: 【設定した条件】  0~20点の場合  赤  21~40点の場合  橙  41~60点の場合  黄  61~80点の場合  緑  81~100点の場合 青 【現象】 VBAでプログラミング後にセルA1に数値「50」を入力したら、セルの色は「黄」になった。しかし、他のデータシートの値を参照させたいと思い、セルA1に「=データシート!B1」と入力したら、セルの色は消えてしまった。 VBAでセルの色分けをしようとする時は、セルに関数を入力してはいけないのでしょうか?条件付書式の時は問題なさそうなのですが。 お分かりになる方がいらっしゃいましたらお願いいたします。

  • 行とセルの色分けを複数できる関数を教えてください

    Excelで、行及びセルを決まった色に分ける関数を教えてください。たとえば、1行目のセルにAさん、2行目にBさん、という先生の氏名を入力すると、セルだけでなくその人の担当する行(生徒の氏名、電話番号、住所が記載されている行)も特定の色になる変化する関数です。3人なら条件付きの方法で色分けできるのですが、10人、20人となると入力の限界があるのでできないのです。よろしくお願いします。

  • Excel条件付書式/他のセルの条件での色分け

    こんにちは。よろしくお願いします。 条件付書式の設定で困っています。 Excel2010です。 A1セルに「△」を入力すると、 △が入った1行がすべてグレーになるように設定したしたく、 1行目のセルに 「セルの値」が「次の値に等しい」「=A1="△"」 として、あとは書式の色をグレーに設定してみたのですが、 A1に△を入れてみても一向に色が変わりません。 どのように設定すれば、他のセルで入力された条件に対して 色分けすることができるでしょうか? ちなみにA1セル自体に設定して、△を入力すると A1だけはグレーに変わりました。 初歩的な質問ですみません。ご指導ください!

  • Excelの条件一致の平均の求め方。

    画像のような表があります。 B2とC2のセルと一致すると条件が一致した行が、条件付書式で色分けされるようになっています。 そこで、B2、C2と条件が一致している行だけの値段平均をE2に表示したいのですが、何か良い方法はないでしょうか。

  • 複数の条件に合う行の特定のセルを返す

    ほぼ同じ質問をいくつか見かけたのですが、その式を自分の内容に置き換えても全く希望通りの結果が出ず、質問させてください。 2 1 Aさん 4 1 Bさん 5 1 Cさん 2 2 Dさん 5 2 Eさん セルのA1には「2」、B1には「1」、C1には「Aさん」と入ったシートがあり、例えばセルのD1に A列、B列ともに「2」が入力されている4行目のC列「Dさん」という値が反映して欲しいのですが、その関数が分からなく困っています。 他にもA列が「5」、B列が「1」の結果が(Cさん)が欲しい時もあり、条件にはA列の値とB列の値を使う方法で考えています。 お知恵を貸してください。

  • エクセル 条件式 条件と同じだと、行に色をつける

    エクセル2007、条件式 同じであれば、行に色をつけたい。 例:    A  B  C  D  E 1        あ     ○ 2 3 4 E1に“○”を入力されたら、1行に色をつける、 何も入力されない場合、1行は何の色もつけない。 しかし、以下の条件式 “セルの値が次の値に等しくない=E1="○"”を設定したら、 E1に“○”を入力したら、1行に色をつましたが、 E1の“○”を削除したら、C1に色をつけられてしまいました。 どうしてなのか?そして、この場合条件式をどう直せばいいのかを 教えていただけますでしょうか? よろしくお願いいたします。

  • 1行名簿の複数行化について悩んでます(続)

    いろいろ教えていただいたのですが、やっぱりよくわからず、助けを求めて再掲示です。 ほんとバカですいません(泣 質問内容を少し変えました。 <質問内容> 「原本」シートの1行データ内容を、 別シート「印刷用」に4行表示する関数を組んでいただけませんか。 (※下方向にドラッグしてコピーしても構成が変わらないように) セル番号(全て原本シートのセル番号)で説明させていただきます。 「原本」シートの1行顧客データを、 「印刷用」シートに以下のように、 「原本」シートのセル番号の値を参照していき、 4行データ化したいのです。 「原本」シート +-------------------------------+ ¦B2¦C2¦D2¦E2¦F2¦G2¦H2¦I2¦J2¦K2¦L2¦M2¦N2¦ +-------------------------------+ ↓ 「印刷用」シート(一部セル結合あります) +----------------+ ¦B2¦E2¦C2¦H2  ¦F2¦N2 ¦ +    --    ----       + ¦  ¦D2¦  ¦G2  ¦  ¦   ¦ +           ----       + ¦  ¦  ¦  ¦I2¦J2¦  ¦   ¦ +    --    ----       + ¦  ¦K2¦  ¦L2¦M2¦  ¦  ¦ +----------------+ ※2件目以降のデータは全て行番号のみ1づつカウントアップします 非常に手間なような気がしてきましたが、 どなたかよろしくお願いいたします。

  • 複数の条件での合計を出したいのです

    エクセルの関数を使い 条件セル E2の値 条件の検索範囲の列Dから抜き出し その行のG列-H列-I列(G列の空白の時の値)の合計を出したい つまり E2=2の時 D列   G列 H列 I列 1行 1 2 2 2行 2 3 1 1 3行 2 2 2 答えは 3-1-2-2 こんな事を実現したいのですが 頭がグルグルしてしまってます ご指南ください。

  • 複数シートの色付きセルがある行を別シートに抽出

    複数シートの各E列に色付きセルがある行のみ、1つの別シートに 抽出したいと考えています。 セルの色は条件付書式で付けています。 なお、複数シートの項目はすべて同一で、1行目は項目名が入っています。 特に複数シートが対象になっているために過去ログから中々近いものが見当たりません。 どなたかヒントだけでも頂ければ幸いです。

  • エクセル色分け

    エクセル2010であるセル(A1)の値が以下の値に入力したときに 自動で隣のセル(B1)に右の値を入力して、かつその行全体(1行目)をB1の値に応じて 色分けするようにしたいのですが、そのやり方がわかりません。 445~475→000 400~430→00 355~385→0 310~340→1 265~295→2 220~250→3 175~205→4 130~160→5 85~115→6 どうかそのやり方を教えて下さい。

専門家に質問してみよう