• 締切済み

excel:塗りつぶしの色によってリスト内容を変える方法

excel:塗りつぶしの色によってリスト内容を変える方法 質問させていただきます。 塗りつぶしの色によってリスト内容を変える方法がわかりません。 具体的には、たとえばA1が赤だった場合、A1のリスト内容をC1からC5にしてA1が青だった場合A1のリストをD1からD5の内容にするといったことです。 ユーザー定義関数で色わけ関数を作って、リストでIFと作成したユーザー関数を使うことを考えたのですがうまくいきません。 どなたかご教授願えればと思います。

みんなの回答

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

1)例えばそのユーザー定義関数を、 色によって数値を返すだけの関数にします。 Function fCnum(ByRef r As Range)   Dim n As Long      Select Case r.Interior.Color   Case vbRed: n = 1   Case vbBlue: n = 2   Case vbYellow: n = 3   End Select   fCnum = n End Function 2)目的シートのA1セルを選択して、[Ctrl]+[F3]キー。        ~~~~~~~~~~~~~~~~ [名前定義]を設定します。 名前:   ccol 参照範囲: fcnum(A1) 3)A1セルの[入力規則]のリストに =IF(ccol=0,$B$1,INDEX($C$1:$E$5,0,ccol)) みたいな感じでしょうか。 ユーザー定義関数の結果を[名前定義]を経由させて [入力規則]で使えるようにします。 それで返った数値を、INDEX関数での列指定に利用してリストを可変にします。 #=IF(ccol=0,$B$1,..のB1は適当です。 #想定外の色だった場合にリストを表示させないようにダミーセルを指定します。

関連するQ&A

  • EXCEL関数でメモ帳作成

    EXCEL関数初心者です。 添付ファイルのような月ごとのメモ帳を作成しています。 最初に見やすいように一行おきに緑色で塗りつぶしをしました。 土日に青、赤の色分けを条件付き書式で「=TEXT(B3,"aaa")="日”」 の関数で日曜日には赤、土曜日には青に塗りつぶしました。 他の曜日の最初の緑色が消えています。 緑色が消えないようにするにはどうしたらいいですか。

  • エクセルの行(灰色の部分)の色を変更するには?

    エクセルについて質問させてください。 似たような質問があったのですが、いまいちよくわからないので教えてください。 エクセルのA,B,C...で書かれた列の名前の部分は普通に起動すると灰色ですが、これを赤、黄色、青色といったように色分けすることは可能でしょうか。マクロを使わなければならない場合、ヘルプを参考にするだけでもできるのでしょうか。シートのタイトル部分の色分けのように簡単にできる方法はないか探しています。初心者ですみませんが、よろしくお願いいたします。

  • 【Excel】リストの切り替えについて

    Excel(2010)を使っています。 http://www4.synapse.ne.jp/yone/excel2010/excel2010_nyukisoku3.html ↑のサイトに、特定のセルの内容によって他のセルのリスト内容が切り替えられるやり方が書いてあるのですが、切り替えるセルをを増やすことは可能でしょうか? 例えば、「A1」に『英語』と入力した際に、「A3」のリストでは『A』、『B』、『C』から選択でき 「A4」のリストでは『D』、『E』、『F』から、「A5」では『G』、『H』、『I』から選択できる。 次に「A1」に『数字』と入力した時は「A3」には『1』、『2』、『3』から「A4」では『4』、『5』、『6』から、「A5」では『7』、『8』、『9』から選択できる・・・と言った具合に複数セルの内容を変更できるようにしたいのです。 よく、マクロ(VBA)等と書かれていますが、その手の知識は全くありませんし、会社のパソコンでやりたいのでできればそれ以外のやり方でお願いします。 また、最初に入力する「A1]の部分もリストに出来たりするのでしょうか? あまり詳しくないので、よろしくご教授お願いします。

  • ユーザー設定リストについて教えてください。

    ユーザー設定リストについて教えてください。 Excel2007を使っています。 ユーザー設定リストに「日から土」は登録させていますが、 たとえば、「日」のフォントの色を赤、「土」のフォントの色を「青」にした状態で登録することはできますか? また、別の操作で、簡単に、日曜日は「赤」、土曜日は「青」と登録できる方法があれば教えてください。 よろしくお願いします。

  • エクセルの突き合わせ方法について

    同じシート内でC列にあるキーワードを[A列]と[B列]から検索して、結果を[D列]に返す。完全一致は’○’、一部一致は’△’、見つからない場合は’×’とする。 また、結果文字を色分け(検索キーワード含め)できると助かります。 ’○’は青、’△’は黄色、’×’は赤色。 よろしくお願いいたします。 <条件> ・[A列]は[C列]から検索したい一部のキーワード。見つかれば’△’ ・[B列]は[C列]と完全に一致した場合のみ’○’ ・[B列]の一部が[C列]に見つかっても’×’ ・[B列]と[C列]が完全一致すれば、その一部は必ず[A列]に存在する  が結果は’○’で返す。 <具体例1> [A列]  [B列]     [C列] [D列] 111(赤) 222AAA(青)  222AAA ○(青)    222(黄) 110AAC(青)  999AAC ×(赤) 333(赤) 111aaa(赤)  110AAC ○(青) 444(赤) 112bbb(赤)  110zzz ×(赤) 555(赤) 113ccc(赤)  222yyy △(黄)

  • Excel2010の計算

    Excel2010で、同じ「2001」(A2~A5)、「1」(B2~B5)、「1」(C2~C5)、「0:00」(D2~D5)(時刻)でも、E2~E5など数値が異なります。(これはSheet1、添付画像左側) これを、Sheet2(添付画像右側)に同じ日時で、 2001:A2、薄い黄色塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も上の数値) 1:B2、薄い黄色塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も上の数値) 1:C2、薄い黄色塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も上の数値) 0:00:D2、薄い黄色塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も上の数値) 101:E2、赤塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も上の数値) 110:F2、黄色塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も高い数値) 100:G2、青塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も低い数値) 106:H2、緑塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も下の数値) 15:I2、薄い青塗りつぶし(同じ「2001」「1」「1」「0:00」の中で最も高い数値) 同様に、「2001、1、1、0:01」、「2001、1、1、0:02」~も同じような計算をしたいのですが、計算式(関数)を教えてください。 説明下手ですいませんが、回答よろしくお願いします。

  • 「入力規則」のリストとVLOOKUP関数機能をあわせたような設定

    いろいろ調べてみたのですが、分からなくて。 Excelで下記のような設定が可能かどうか教えて下さい。 ------------------------------------------------------- (Sheet1)   A   B 1 赤系 2 青系 3 黄系 A列は「入力規則」のリストを用いて、"赤系","青系","黄系"のいずれかを選択できる設定になっている。 A1のように"赤系"を選択した場合、B1にはそれに応じた別のリスト("チューリップ","ガーベラ","コスモス")を表示させる。 しかし、A2のように"青系"を選択したらB2には"バラ"を、A3のように"黄系"を選択したらB3には"ヒマワリ"を直接表示させる。 ------------------------------------------------------- 以上のような内容のものです。 (Sheet2)で、以下のように入力して入力規則のリスト用に名前をつけ、"青系"と入力したら"バラ"という項目のみをリスト表示させるようにするっていう手もありますが、、 (Sheet2)   A        B     C 1 赤系      青系   黄系 2 チューリップ  バラ   ヒマワリ 3 ガーベラ 4 コスモス そうすると、わざわざリストをドロップダウンさせたり何かしらアクションを起こさないといけないですよね。。 そういった手間もなく、"青系"もしくは"黄系"を選択した場合には"バラ"や"ヒマワリ"が表示されるようにしたいんです。 ここで"赤系"がなければVLOOKUP関数で対応できるのですが…。 このような、入力規則とVLOOKUP関数をミックスしたような設定はできるのでしょうか? できればVBAを用いず、関数で対応したいと思っています。 詳しい方、ご教示願いますM(_ _)M

  • EXCEL セル内の一部文字色を太字にしたい。

    EXCEL2003を使用しています。 アンケートの集計を行っています。 C・D・E列にコメントが入力されています。 その列それぞれのセル内の一部が、赤・青・緑と色分けされているので、その色の付いた文字を太字に変えたいのですが、どうしたらいいのでしょうか? 使用している色は、黒・赤・青・緑です。 VBAで変えられそうですが、全くわかりませんので、ご回答の程、どうぞよろしくお願いいたします。 また、色の数値の出し方も併せて教えてください。

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • [Excel]で連動するドロップダウンリストを作りたい

    Excel2007、もしくは2003を使い、連動するドロップダウンリストを作りたいのですが、上手くいきません。 1個目のドロップダウンでA部を選ぶと2個目のドロップダウンでA,B,C担当を選ばせるようにするというのは、A,B,C担当をA部の名前で定義し、入力規制ダイアログの元の値に、INDEIRECT関数を使うことで解決するかと思います。 ですが、たとえば最初に県を選ばせ、それぞれの県にA部が存在し、ある県のA部にはA担当とC担当、ある県のA部にはB担当とC担当、というように3階層以上で、途中の階層で名前が重複していおり、なおかつその下の階層はそれぞれ違う場合はINIRECTでは上手くいきません。 A部の名前で定義してしまうと、どの県を選んでも全部の担当が出てしまいますし…。 何か良い方法をご存知の方がいらっしゃったら、どうか知恵をお貸しください。

専門家に質問してみよう