• ベストアンサー

セルの色によって条件文をつけることはできますか?

tori2007の回答

  • tori2007
  • ベストアンサー率40% (32/80)
回答No.2

こちらの「セルの色を別のセルに表示させるユーザー定義関数」を使って、A列のセル色を表示させた別のセルの文字をIF文に組み込めばできると思います。 http://www.relief.jp/itnote/archives/001873.php もしくは下記の質問回答にあるようにVBAで組むかでしょうか。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1115354576 ご回答になっていればいいのですが。

mameta77
質問者

お礼

ご回答ありがとうございました。 質問の締めが遅くなってしまい申し訳ありませんでした。

関連するQ&A

  • セルの色によって条件文をつけることはできますか?2

    以前質問させていただいた内容なのですが、 質問用にフォーマットを作って質問させていただきました。 質問の通りであれば、問題なく解決できたのですが、 本物のデータで少し違うだけで動作ができません。 お力頂けますでしょうか。よろしくお願いします。 Excelでの質問です。vista利用。 セルの色によって条件文(IF)をつけることはできますか? やりたいのは、下図で説明しますと、 A15のセルに色付データが入ったらC15とE15のセルを掛け算し、 G15のセルに表示。 A16のように色無なら、Gは計算しない(表示しない)。 例      A            C     E   G 15  色付セル        3     2   6 16  白セル(色無し)    5     4    17  色付セル        2     6   12 A列には、別のデータシートからデータをコピーし貼り付けます。 全て数字が入っているのですが、数字は無視し、背景の色で判断します。 --------------------------------- 以前は下記のフォーマットで質問しました。 A1のセルに色付が入ったらB1とC1のセルを掛け算し、 D1のセルに表示。(Dセルにif文) A2のように色無なら、Dは計算しない(表示しない)。 例      A           B     C   D 1  色付セル        3     2   6 2  白セル(色無し)    5     4    3  色付セル        2     6   12 ここで、下記のVBAを教えていただきました。 Sub test() 'この行から Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1).Interior.ColorIndex <> xlNone Then Cells(i, 4) = Cells(i, 2) * Cells(i, 3) End If Next i End Sub 'この行まで --------------------------------- これならできたのですが、今回のようにセルの行が途中だとどこを修正すれば よいのか分かりません。 「1」の表示がある3か所をいじったのですがダメでした。 計算部分については Cells(i, 4) = Cells(i, 2) * Cells(i, 3) ↓↓↓ Cells(i, 7) = Cells(i, 3) * Cells(i, 5) 前回の質問URL http://oshiete1.watch.impress.co.jp/qa6855834.html よろしくお願いします。

  • Excel 3つの条件文を一つのセルにいれたい。。

    Excel、下述の 3つの条件文を一つのセルにいれたい。。です。 その一つのセルを仮にD2とします =IF(A2="","",A2*O2) =IF(B2="","",B2*O2) =IF(C2="","",C2*O2) A2に数値がはいっていなかったらD2は空白で、数値が入っていたらA2*O2の計算をする B2に数値がはいっていなかったらD2は空白で、数値が入っていたらB2*O2の計算をする C2に数値がはいっていなかったらD2は空白で、数値が入っていたらC2*O2の計算をする つまり、上述のIF文を一つにまとめたいのです。 頭が悪くてわかりません、誰か助けてください!!!!お願い致しますm(_ _)m

  • エクセルの条件付き書式を使ってセルに色を付けたい

    A2~D2以下のセルにある数字がランダムで並んでいるとします(各セルには一桁の数字のみ)。E1~H1にもある数字が並んだ時、同じ数字があれば、A2行のセル数字に色を付けたいんです。条件付き書式の数式を・・・でやると思うのですが、イマイチよく解りません。他の質問でも調べて自分なりに関数を使っているのですが、うまくいきません・・・?すいませんがどなたか教えて下さい、よろしくお願いします。 こんな感じで・・・    A B C D  E F G H 1             1 7 3 8 2   0 9 4 7(←色塗) 3 ・ ・

  • セルに自動で色をつける

    仕事で使うタイムシートを作っています。 A6 =DAY(DATE(A1,A2,1)) 日付を表示(1~31の数字がでるように書式を変更) A7~A36 =IF(A6="","",IF(MONTH(DATE($H$3,$I$3,A6+1))=$I$3,A6+1,"")) 28日、31日に対応できるよう関数をオートフィルでコピーしてあります。 B6 =IF(A6="","",DATE($H$3,$I$3,A6)) 曜日を英語で表示Monday~Sunday (B6~B36までオートフィルで関数をコピーしてあります。)   A    B    C     D     E     F     G     H     I     J     K ------------------------------------------------ 6 1 Sunday 7 2 Monday 8 3 Tuesday 9 4 Wednesday . . . 36 31 Saturday ------------------------------------------------ 【セルに自動で色をつける】 B6~B36のセルにMonday~Fridayの文字が入っている場合、C6~K6のセルに色をつけたい 同様にC7~K7、C8~K8、C9~K9..........最後のC36~K36まで条件に当てはまる時に、 セルに色をつけたいです。SaturdayとSundayの時は色はつけなくて良い 条件付き書式では無理があったので、マクロで実現するしかないのかと試行錯誤しましたが、 何ぶんマクロ初心者のため、記述方法が分かりません。 どなたかヒントを頂けると嬉しいです。 宜しくお願いします。

  • IF文の使い方

    IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価    特別単価    数量     合計 B列     C列      D列     E列 125      0      1200    IF(C5=0,=D5*B5,D5*C5)

  • EXCEL2002でA1セルがif文だったらB1セルに

    こんにちは。 EXCEL2002です。以下のようにするにはどのような関数を使えば良いのか教えてください。 A1セルが・・・・ if文だったらB1セルに"○" if文以外の数式だったらB1セルに"△" 文字や数字の値だったらB1セルに"×"  と表示する。 条件付書式などの回答を見ていろいろ調べましたが、分かりませんでした。よろしくお願いします。

  • エクセルの条件文が長すぎて・・・

    エクセルで合計値を求めるための条件に苦戦しています。 A1が「a」かつA2が「b」の場合B1の数値をZ1に加える。というものですが、 それだけなら =IF(AND(A1=a,A2=b),B1,0) とかで大丈夫だとは思うのですが、 問題は上の条件文で数値を加えるかどうかを判断するB1のようなセルが35個あります。 Z1に=IF(AND(A1=a,A2=b),B1,0)+IF(AND(C1=a,C2=b),D1,0)+ ・・・ なんてしようものなら文が長くなりすぎて条件文が書けなくなってしまいます。 だからといって、他のセルを使うのはレイアウト上避けたいです。 A1、A2、B1などの配置もレイアウト上変えたくはありません。 面倒だとは思いますが、Z1に収まるように上手く出来ないでしょうか? ご指南お願い致します。

  • エクセルのセルへの色づけ方法について

    現在、エクセルで統計用のデータシートを作っているのですが、あるセルにデータが入力されると、別の列で同じ行のセルの色が変わる、という設定をしたいのです。 たとえば、 B列のセルに数字or分数が入れられた場合はA列同行のセルが黄色 C列のセルに数字or分数が入れられた場合はA列同行のセルが赤色 D列のセルに数字or分数が入れられた場合はA列同行のセルが青色 E列のセルに数字or分数が入れられた場合はA列同行のセルが緑色 表自体はAに入力されているデータで管理されているので、そこから横に派生していく条件によってAのステータスが確認できるようにしたいと思っております。 つまり、B,C,D,E,のいづれかにデータが入力された場合、その列に応じてAの色が変わるという設定です。 色が3色だったら条件つき書式で設定が出来ましたが、四色以上になってくるとIF関数を使い =IF(B1>=1,"S",IF(C1>=1,"O",IF(D1""," ","D")))みたいな式を設定し 更にそのセルを確認して色を変える方法しか思いつかず。。。 ただでさえ非常に横に長いシートなので、不必要に使用する列を増やしたくないのと出来るだけ簡素化した表にしたいと思っております。 どなたかエクセルに詳しい方がいらしたらご教示いただけないでしょうか? 尚、エクセルは2003でOSはVISTAを使用しております。 お手数ですが宜しくお願い致します。

  • Case文による選択肢をさらにあるセルの条件によって分けたい。

    EXCEL VBAについての質問です。 初心者です。宜しくお願い致します。 使用環境はWindows 2000 service pack4 Excel 2000. =質問= 現在、以下のようなプログラムを記しています。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target If .Address = "$D$11" Then With UserForm1 .ListBox1.List = Array("abc", "def","ghi") .Show (0) End With ElseIf .Address = "$D$12" Then With UserForm2 Select Case Range("$D$11") Case "abc" .ListBox1.List = Array("あ", "い"," う", "え", "お") Case "def" .ListBox1.List = Array("A, "B","C", "D") Case "ghi" .ListBox1.List = Array("いろ", "はに", "ほへ", "とち") End Select .Show (0) End With End If End With これはセルD11をクリックするとユーザーフォーム1(リストボックス1)が現れ"abc,def,ghi"が選択でき、その選択内容によってセルD12の内容が変化するといったものです。 この応用としてD11の選択肢に加えセルA1の内容(例えば1,2,3)の選択内容によってD12に表示される選択肢をさらに細分化したい。 例えばセルD11で"ghi"を選択する。 上記のプログラムそのままではセルD12をクリックした時に ("いろ", "はに", "ほへ", "とち")が選択肢としてユーザーフォーム2(リストボックス2)に表示されます。 それをセルA1の表示が"1"の時にセルD12をクリックしたら("いろ", "はに")、セルA1の表示が"2"にセルD12をクリックしたら("ほへ", "とち") セルA1の表示が"3"の時にセルD12をクリックしたら選択肢なしという風に分けたい。 Case "ghi"から以下にif文などを挿入し作成してみましたが、うまく作動しませんでした・・・ 上記、質問に対し、どのようにプログラムを変更すればよいがご教授いただくようお願い致します。

  • エクセル 条件書式? セルの色を複数設定したい

    色々試しましたが、どうしても解らないので質問させていただきます。 指定のセルと同じ内容のセルに色を付けたいのですが、条件書式では3つまでしか設定できなくて困っています。 1A あ  2A お 1B い  2B か 1C う  2C き 1D え  2D く 上のように1A~1~Dのセルと同じ内容のセルなら赤 2A~2Dと同じ内容のセルなら青というように設定したいのですが・・・ 条件書式では無理なのでしょうか? 説明が解り難かったらすみません、よろしくお願いします!