• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2007の条件付き書式について)

エクセル2007の条件付き書式について

このQ&Aのポイント
  • エクセル2007(SP3)で条件付き書式を使用する方法について説明します。
  • 指定したセル内に特定の文字が含まれている場合、自動的に特定の書式が適用されます。
  • 複数の文字を指定する場合、現在のバージョンのエクセルでは一度に設定することはできません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.9

1つのセル内の文字が全て赤でも構わないのでしたら、条件付き書式で、できますよ。 次のような感じで質問文にサンプルでも載せていただければ、話が早かったかもしれませんね。回答者としても、Excelにさっとコピーして動作の確認などもできるので、助かります。    A列  B列  C列  D列 1行  A-1     A 2行  H     A-1 3行  C      B 4行  G     B-1 5行  A      C 6行  D 7行  B-1 8行  F 9行  E 10行  B 「数式を使用して…」において、下の式を入力してください。「" "」で挟まれている部分については、大文字と小文字を区別してください。また、例えば「甲A-1」といった、もう少し別の記号も存在する場合は、「*A*」というふうにワイルドカード文字を前後に付けてください。 =countif(a1,"A*")+countif(a1,"B*")+countif(a1,"C*")>0 あるいは =countif($C$1:$C$5,a1)>0   ※いずれもA1セルの書式に対する条件式 A列の他のセルにも同様に設定するには、No.8さんのおっしゃるように対象のセル範囲を先に全て選んでおいて代表のセル1つだけに式を入力してもいいです。あるいは、A1だけに設定した後、A1セルをコピーして、A列の他のセルに対して「形式を選択して貼り付け」で「書式」のみを貼り付けるという方法でもできます。 皆さんのご回答に出てきたいろいろな関数などの情報は、なるべく、Googleなどで調べておかれることをお勧めします。関数名で検索すれば、いくらでも出てきます。VBAについては習得に骨が折れるので、別としても。「=(a1="A")+(a1="B")+(a1="C")」の式中の「+」は、「論理演算子」と呼ばれるものです。「=countif($C$1:$C$26,a1)>0」の式中の「>」は、「比較演算子」。「$」マークは「絶対参照・相対参照」で調べてください。「ワイルドカード」もご確認ください。

tomozo0527
質問者

お礼

最初に、添付画像を入れようと思ったのですが プリントスクリーンからのペイントに保存で ペイントで画像アップが出来ずに、文章だけで 質問してしまいました。 申し訳ございませんでした(>_<)    A列 1行  A 2行  B 3行  C 4行  D 5行  E 6行  A 7行  B 8行  C 9行  D 10行  E 11行  A-1 12行  B-1 13行  C-1 上記の状態で、列は1列のみで、A1~A13までのセルの 例題ですが「A」「B」「C」だけ「赤」にしたいという事です。 ワイルドカードなり参考にさせていただきました。 =COUNTIF(A1,"A")+COUNTIF(A1,"B")+COUNTIF(A1,"C")>0 上記で出来まして、「*」のワイルドカードも他の条件で非常にうまく使えました。ありがとうございました。

その他の回答 (8)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

>セルの指定範囲が→$AF$11:$AF$624なので 以下のように入力しましたが、セルに入っている文字全てが赤になります。 すでに回答した通りですが、その場合は、AF11からAF624セルを選択し、数式を相対参照にした以下の式を入力してください(これですべてのセルに対応する条件付き書式が設定されます)。 =OR(AF11="A",AF11="B",AF11="C")

tomozo0527
質問者

お礼

ORの方でもやってみました。 こちらでも出来ました。 メモを取って、今後に役立てたいと思います。 本当に有難うございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

こんばんは! 横からお邪魔します。 最初に質問を読んだときにはすでに回答されている条件付書式で解決済みだと思っていました。 セル内に文字列がありその中のA・B・Cの文字だけを赤にしたい!というコトですかね? そうであればVBAになってしまいますが・・・ 一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてAF11~AF624セルにデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim k As Long Dim str As String If Intersect(Target, Range("AF11:AF624")) Is Nothing Or Selection.Count <> 1 Then Exit Sub Selection.Font.ColorIndex = xlAutomatic For k = 1 To Len(Target) str = Mid(Target, k, 1) If str Like "[A-C]" Then Target.Characters(Start:=k, Length:=1).Font.ColorIndex = 3 Else Target.Characters(Start:=k, Length:=1).Font.ColorIndex = xlAutomatic End If Next k End Sub 'この行まで ※ セルのデータが変更時にマクロが実行されるようにしていますが、 あらかじめデータが入っている場合は別コード(ほとんど似たようなコードですが) にしてご自身でマクロを実行する必要があります。 的外れならごめんなさいね。m(_ _)m

tomozo0527
質問者

お礼

条件付き書式、=COUNTIF(AF11,"A*")>0という数式で出来ました。 今後の参考にさせていただきます。有難うございます。

回答No.6

ご質問の意味を正しく把握できていなかったようです。1つのセルに1文字だけなのかと思っていました。 1つのセルの中に文字がいくつも入力されており、その中に「A」などが混じっていて、「A」の文字だけ赤くするという意味でしたか?そうだとすると条件付き書式の機能では、できません。同じセルの中で部分的に色を変えることはできません。 ただ、参考URLのVBAなら、それができます。「Set rng」、「txt」、「colInd」という箇所の数字などを適当にいじってください。「colInd」の数字を変えれば他の色になります。 ちなみに補足にお書きになった「=($AF$11:$AF$624="A")+($AF$11:$AF$624="B")+($AF$11:$AF$624="C")」という式はミスしていて、「=($AF$11="A")+($AF$11="B")+($AF$11="C")」と書かれていると認識されているのではないかと思います。

参考URL:
http://okwave.jp/qa/q1822805.html
tomozo0527
質問者

お礼

出来ました。何度もお世話になりましてありがとうございます。

tomozo0527
質問者

補足

ありがとうございます<m(__)m> >1つのセルの中に文字がいくつも入力されており、その中に「A」などが混じっていて、「A」の文字だけ赤くするという意味でしたか? 1つのセルの中は、A、B、C、D、E、F、G、H、A-1、B-1、といった、10個の内、セルにはいずれか一つという感じです。 「A-1」とかがネックでしょうか… これだと出来ないですか(>_<)?? 「=($AF$11="A")+($AF$11="B")+($AF$11="C")」といれましたができませんでした(>_<)

回答No.5

No.4です、何度もすみません。No.4で一部、誤ったので、次のとおり修正します。「$」マークを付加してください。 「=countif(c1:c26,a1)>0」→「=countif($c$1:$c$26,a1)>0」

tomozo0527
質問者

お礼

出来ました。何度もお世話になりましてありがとうございます。

tomozo0527
質問者

補足

本当に、ご丁寧に有難うございます<m(__)m>

回答No.4

※既に回答が出ているので、ベストアンサーは辞退します ちなみにNo.3さんの方法は、次の式でも同じ結果になります。 =(a1="A")+(a1="B")+(a1="C") このように「数式を使用して…」を使う場合、A1の値によってB1の書式を設定するといったことも可能ということになります。つまり、B1にカーソルがあるときに条件付き書式のダイアログで上の式を入力すれば、実現します。 また、C1:C26の範囲に入力されているデータがA1にも入力されている場合に書式が反映されるよう設定するなら、次の式を「数式を使用して…」で入力すれば、実現します。 =countif(c1:c26,a1)>0

tomozo0527
質問者

お礼

出来ました。何度もお世話になりましてありがとうございます。

tomozo0527
質問者

補足

ご回答ありがとうございます。 皆さん、本当に感謝です。 一つ一つ試している状況ですが… セルの指定範囲が→$AF$11:$AF$624なので 以下のように入力しましたが、セルに入っている文字全てが赤になります。 そのセル内の条件付き書式をすべて削除してからやっても同じなのですが、私の何かが間違っているのか、勘違いなのか、わかりますでしょうか? =($AF$11:$AF$624="A")+($AF$11:$AF$624="B")+($AF$11:$AF$624="C") 以上を「数式を使用して、書式設定するセルを決定」の 「次の数式を満たす場合に値を書式設定」の欄に入力しています。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

ご希望の条件付き書式を設定するには、単純にOR関数を利用した条件付き書式を設定します。 例えばA1セル以下に条件付き書式を設定するなら、A1セルからデータ範囲を選択し「条件付き書式」で「数式を使用して・・・」を選択し「=OR(A1="A",A1="B",A1="C")」の数式を入力してみてください。

tomozo0527
質問者

お礼

出来ました。何度もお世話になりましてありがとうございます。

tomozo0527
質問者

補足

ご回答ありがとうございます。 セルの指定範囲が→$AF$11:$AF$624なので 以下のように入力しましたが、セルに入っている文字全てが赤になります。 そのセル内の条件付き書式をすべて削除してからやっても同じなのですが、私の何かが間違っているのか、勘違いなのか、わかりますでしょうか? =OR($AF$11:$AF$624="A",$AF$11:$AF$624="B",$AF$11:$AF$624="C") 以上を「数式を使用して、書式設定するセルを決定」の 「次の数式を満たす場合に値を書式設定」の欄に入力しています。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

条件付き書式で数式を利用すれば出来ますよ。 2007は今使っていないので正確な名前が判りませんが、確か「数式を使用して書式設定」とかそんな名前のルールを選択すると式を入力する箇所が表示されますので、そこに =ISNUMBER(FIND(A1,"ABC"))*(LEN(A1)=1) の、様に入れてください(A1セルを例にしています)

tomozo0527
質問者

お礼

出来ました。早いご回答ありがとうございました。

tomozo0527
質問者

補足

ご回答ありがとうございます。 現在、色々試しておりますが、いまだ解決できない状況です。 セルの指定範囲が→$AF$11:$AF$624なので 以下のように入力しましたが、セルに入っている文字全てが赤になります。 そのセル内の条件付き書式をすべて削除してからやっても同じなのですが、私の何かが間違っているのか、勘違いなのか、わかりますでしょうか? =ISNUMBER(FIND($AF$11:$AF$624,"ABC"))*(LEN($AF$11:$AF$624)=1) 以上を「数式を使用して、書式設定するセルを決定」の 「次の数式を満たす場合に値を書式設定」の欄に入力しています。

  • jasko
  • ベストアンサー率24% (478/1966)
回答No.1

条件つき書式では無理だと思います。 でも条件を加えていけばよいだけなので、 それほど面倒ではないと思うのですが・・

tomozo0527
質問者

お礼

一番早い、ご回答ありがとうございました。 何とか出来ました。

tomozo0527
質問者

補足

ご回答ありがとうございます。 数が、結構あるので かなり面倒なんです(>_<) 出来るかどうか、頑張るだけ頑張って 駄目なら、諦めます(>_<)

関連するQ&A

専門家に質問してみよう