プロが教えるわが家の防犯対策術!

エクセルの条件付き書式について質問です。
Sheet1のデータを検索して別シートに結果を引っ張っています。
検索結果が男は”青”、女は”赤”、空欄は”灰”というパターンでセルの色が
変わるようにしたいのです。エクセルの本やネット検索で1つの答えを出しましたが、
「式が正しくありません」とエラーが出ます。どこが間違ってるのかわかりません。
どなたか教えていただければ助かります。宜しくお願い致します。

  【Sheet1】     【Sheet2】
   A  B C     A 
1 山田太郎  男  1 山田太郎 ←青
2 田中花子  女  2 田中花子 ←赤
3        女 3       ←灰
4 鈴木二郎  男 4 鈴木二郎 ←青

Sheet2のA列には、=IF(Sheet1!$A1="","",Sheet1!$A1)

Sheet2での条件付き書式で、

条件1 =COUNT(IF(INDIRECT("Sheet1!$A$1:$A$100")=A1,IF(INDIRECT("Sheet1!$C$1:$C$100")="男",))) 書式:青

条件2は"女"で赤となります。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

VLOOKUP関数はどうでしょう。



1.Sheet1!$A$1:$C$100のセル範囲に名前をつけます。仮に名前を性別とします。

2.条件付書式で数式を=VLOOKUP(A1,性別,3,0)="男"の場合は青で
  =VLOOKUP(A1,性別,3,0)="女"の場合は赤にします。

3.予めセルを灰色にしておけば、条件付書式が優先されます。

以上です。
    • good
    • 0
この回答へのお礼

keirika様

お返事が遅くなりまして申し訳ございません。
早速のご対応、本当にありがとうございます m(__)m

試してみました、ちゃんと動きましたよ!!
最初にVLOOKUP関数は試してみたんですが、まったく動かなかったので
他の方法を模索していたところだったんです。
教えていただいたとおりにやってみて上手くいきましたので、
改めて見比べてみたところ、どうやら「名前」の設定が間違っていたようです。
(簡単な表で質問を出しましたが、Sheet1はもっと大きな表なのです)
いや、落ち着いてみたらわかったはずなのに、思い込みって怖いです(汗

本当に助かりました、どうもありがとうございます(●^o^●)

お礼日時:2008/08/22 21:19

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル 条件付書式 別シート参照 について

エクセル2007で、条件付き書式でsheet1の入力に対してsheet2の書式を変更したいのですが
できずにいて困っています。
教えてください。

具体的にやりたいこと
sheet1 の 入力に対して sheet2のそれぞれに対するセルの色を変えたい。

「sheet1のA1」に"a"が入力されたら 「sheet2のA1」 の背景色を 青 にする。

といったことをある範囲(たとえばA1:H20)でやりたいのですが
どうしてもうまくいきません。

sheet2 で A1:H20 の範囲を選択して
=INDIRECT("sheet1!"&ADDRESS(ROW(A1),COLUMN(A1),1)
と入れてみたのですが、うまくいきません。
わかる方アドバイスいただけますか?

Aベストアンサー

続けてお邪魔します。

>Sheet2の条件付書式をしようする範囲が A1~H20等の 左端からでしたらできるのですが
>範囲を D5~K30 などに変えたとたん反応しなくなってしまいました。

そういうコトでしたかぁ~~!

それでは条件付き書式の数式を
=INDEX(範囲,ROW(A1),COLUMN(A1))="a"
として書式を設定してみてください。

おそらく大丈夫のはずです。

※ Sheet1に限らず、
どのSheetでも範囲指定した配置で対応できるはずです。m(_ _)m

QExcelの条件付書式とVlookupを組み合わせて

いつもお世話になっております。

『残高報告3月末』と『残高報告9月末』というフォーマットを同じくするシートがあります。
いずれも一行一レコードで、「案件名」「残高1」「残高2」「残高3」という4項目についてデータが存在します。
この中の「残高3」という項目について両シート間で比較を行い、値が違っている場合は『残高報告9月末』のセルの文字色を青に変える、ということを条件付書式機能を用いて設定しようとしています。

レコードの順番が変わらなければセルの位置をして指定して比較を行えばよいものと思うのですが、順番は変わる可能性があるため、
『「案件名」が同じものを探して、そのレコードの「残高3」の値同士を比較する』ということが必要になっています。
Vlookupを使えばできるように思うのですが、具体的にどう記述すればいいのかまでたどり着けず…教えて頂けますと助かります。

宜しくお願い致します。

Aベストアンサー

A列~D列に案件名~残高3があるものとして、
残高報告9月末シートのE2に
=VLOOKUP(A2,残高報告3月末!$A:$D,4,FALSE)
とすれば、同じ案件名の3月末の残高がでると思います。


それを参考にして、D列に条件付き書式を数式で下記のようにします。
=D2<>VLOOKUP(A2,INDIRECT("残高報告3月末!$A:$D"),4,FALSE)

※条件付き書式だと別シートを参照できないので、INDIRECT関数を使っています。

条件付き書式について知っているものとして回答していますので、
そもそも条件付き書式がわからないのであれば、別途調べて見てください。

Q他シートのある列を検索して一致したらセルに色をつける方法

次のような処理がしたいのですが、Excelの数式に詳しい方、ご教示お願いします。

次の3つのシートが一つのBOOKにあるとします。
■Sheet1
1列目
AAAA
BBBB
CCCC


■Sheet2
1列目
BBBB
:

■Sheet3
1列目
AAAA
CCCC
:

Sheet1の一列目にあるデータについて、Sheet2あるいはSheet3の1列目を検索し一致するものがあれば、Sheet1の一列目の各セルに色をつけるという処理をしたいです。
できれば、Sheet2に一致した場合と、Sheet3に一致した場合とで、色を変えたいです。

よろしくお願いします。

Aベストアンサー

Sheet2のA列全体を選択した状態で、Ctrl+F3を押して「名前の定義」を開き、選択範囲に名前をつける。たとえば sss2 とか。
Sheet3のA列にも同様に sss3 とかの名前をつける。

Sheet1のA1を選択して、書式-条件付き書式で、
条件1
 「数式が」「=COUNTIF(sss2,A1)>0」
 Sheet2にあった場合の書式(色)を設定
条件2
 「数式が」「=COUNTIF(sss3,A1)>0」
 Sheet3にあった場合の書式(色)を設定
にすれば良いです。

Sheet2にもSheet3にもあった場合のことは、考えていません。

Qエクセル 条件付き書式の別シート参照について

エクセル2007にて、条件付き書式を使い、"Sheet1"と"Sheet2" を比較しようとしていますが
相対パスが当てられずに困っています。

■したいこと
Sheet1とSheet2のそれぞれ対応するセルを比較し、値が異なるなら
Sheet1のセルの色を変える

「Sheet1のA1」と「Sheet2のA1」を比較
「Sheet1のA2」と「Sheet2のA2」を比較
「Sheet1のA3」と「Sheet2のA3」を比較


「Sheet1のB1」と「Sheet2のB1」を比較
「Sheet1のB2」と「Sheet2のB2」を比較


続く

というように全部のセルを比較したいです。

■したこと
条件付き書式では、直接 別シートを参照出来ないようなので
Sheet1のA1の条件付き書式には、以下のように記載しました。

「=IF(A1=INDIRECT("Sheet2!A1"),0,1)」

しかし、""で囲んだ部分は、文字列として認識されているため
そのままコピーされ、うまくいきません。

なにかいい方法ってないんでしょうか???

詳しい方、ご教授いただけたらと思います。
よろしくお願いします。

エクセル2007にて、条件付き書式を使い、"Sheet1"と"Sheet2" を比較しようとしていますが
相対パスが当てられずに困っています。

■したいこと
Sheet1とSheet2のそれぞれ対応するセルを比較し、値が異なるなら
Sheet1のセルの色を変える

「Sheet1のA1」と「Sheet2のA1」を比較
「Sheet1のA2」と「Sheet2のA2」を比較
「Sheet1のA3」と「Sheet2のA3」を比較


「Sheet1のB1」と「Sheet2のB1」を比較
「Sheet1のB2」と「Sheet2のB2」を比較


続く

というように全部のセルを比較したいです。

■したこと
...続きを読む

Aベストアンサー

たとえばA:C列を列選択し,
指定の値を含むセルだけを書式設定
セルの値 が 次の値に等しくない で
=INDIRECT("Sheet2!RC",FALSE)
とか
=INDEX(INDIRECT("Sheet2!A:C"),ROW(),COLUMN())
とか。

Qエクセル 条件付き書式でVLOOKUPの使い方?

エクセルで下記の様にA列に文字列が有り、B列と同じ文字列が有る場合
にA列の該当箇所のフォントの色などを変更したいのですが、やり方が
解りません。
A列の文字列は、今後どんどん増えて行きますが、B列の文字列は100個
程です。

 A   B
1 254 584
2 257 A58
3 846 GF8
4 A89 665
5 Y89 895
6 R56
7 584
8 PRE

どうか宜しくお願い致します。との質問に対し下記の回答を頂いて解決出来たと思われたのですが、数字のみの値に対しては
うまく行くのですが、アルファベットが含まれるとうまく行きません。

------先ほどの質問の回答---
 条件付き書式を使いますが、まずA1を選択、「書式」→「条件付き書式」で数式にして下記を入力、書式をクリック、フォントで色を選択してOKを押す。
=VLOOKUP(A1,$B$1:$B$100,1,0)
次に、A1をコピーして列のAをクリックする。「書式」→「形式を選択して貼り付け」で「書式」を選択。

Aベストアンサー

条件付き書式は、TRUE判定された場合に書式反映されますので、VLOOKUP関数はデータ抽出結果が数値ならばTRUEですが
文字列の場合、FALSEとなる為です。
仮にVLOOKUPでするのならば、=VLOOKUP(A1,$B$1:$B$100,1,0)=A1とすべきです。
前回、数値(0はFALSE、以外数値はTRUE)結果となるCOUNTIF提案をした次第です。

Q2つのシート間での重複データのチェック

Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

Aベストアンサー

シート1のC列に式を入れます。
=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで色の変更を他のシートに反映させるには

Execl2000を使っています。
Sheet1からSheet5まであるとします。
Sheet1のA1のセルの色を変えたときに、Sheet2~5のA1の色も自動的に変わるようにするにはどうすればいいのでしょうか。
数値などはリンク貼り付けで自動的に変わるようにできるのですが、色は無理のようです。
土日は返事ができませんが(今日はたまたま出勤日なのでOK)、よろしくおねがいします。

Aベストアンサー

いちばん簡単な方法は、Sheet1~Sheet5 を一括選択して A1 のセル色を変えることです。
マクロで処理する方法もありますが、わざわざそこまでする必要はないと思います。

QEXCELで別のシートのデータを参照して返す方法

ちょっとしたことなのですが、うまく式が書けなくて悩んでいます。

作業用のシート1と参照用のシート2があり、
シート1のA列には
 あおき
 あべ
 いぐち
 いはら
などと文字列(名前)が入力されています。
こちらは今度の野球のスタメンだと思ってください。

シート2にはA列とB列があって、
わたなべ 55
いぐち  43
あおやま 67
いはら  41
などと、名前:背番号が羅列されています。こちらが参照用の全選手の背番号リストだと思ってください。

ここで、 シート1のB列に、A列の名前に対応した背番号を返したいのです。
なので、シート1のB列に
IF(シート1のA列の値=シート2のA列のいずれかの値)だったとき、
適合したシート2の行のB列の値を表示する
という式を入れたいのですが、どのように式を書けばよいでしょうか。

すみませんがどなたか教えてください。

Aベストアンサー

私もその場合はVLOOKUP関数を使用しています。

「B1」=VLOOKUP(A1,Sheet2!$A:$B,2,0)


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング