• 締切済み

Excel条件書式について

「A1にhを入力すると、a2~a10に色がつく。」 そういう表をつくりたいのですが、条件書式で可能ではと思っております。 ネットで調べましたが、よくわかりませんでした。 上記のような表を作成するとき、-VBA以外の方法では、 どんな方法がございますでしょうか。 できればExcel2003、2010以降の両パターンについて、 ご教授お願いします。

みんなの回答

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.10

[No.4補足]へのコメント、 「大文字小文字に関係なく、やりたいことが実現できたの」をヨシとする(つまり、アルファベットの「エイチ」なら大小だけでなく全角半角の何でも御座れ主義の)人は、質問する際に「A1にhを入力すると、…」でなく、「A1にh、h、H、またはHを入力すると、…」とキッチリ書きませう! 「CODE関数ならではのメリット」? 貴方に取ってのメリットは全くありません。敢えて言うなら、貴方の質問文の不備を浮き彫りにしたことでせうか。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.9

>もう一つ質問させて下さい。 >引き続きExcel2003での話ですが、数式を、=A$1="h"ではなく、=$A1="h"だと、なぜかA2のみが色塗りで失敗しました。 >これはなぜでしょう。  A2セルに設定した条件付き書式の数式が =$A1="h" になっていた場合、参照元であるA1セルの参照方式の行番号の方は相対参照になっており、その参照方式が相対参照になっている「A2セルの条件付き書式の数式」をコピーしてA3~A10に張り付けたのですから、 A2セルに設定した条件付き書式の数式 : =$A1="h" A3セルに設定した条件付き書式の数式 : =$A2="h" A4セルに設定した条件付き書式の数式 : =$A3="h" A5セルに設定した条件付き書式の数式 : =$A4="h" A6セルに設定した条件付き書式の数式 : =$A5="h" A7セルに設定した条件付き書式の数式 : =$A6="h" A8セルに設定した条件付き書式の数式 : =$A7="h" A9セルに設定した条件付き書式の数式 : =$A8="h" A10セルに設定した条件付き書式の数式 : =$A9="h" となってしまい、A1セルを参照しているのはA2セルだけになってしまい、A3~A10セルの条件付き書式の数式はA1セルを参照していないのですから、A1セルに "h" を入力したとしてもA3~A10セルに色が付かないのは当たり前です。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.8

>しかし、回答No.1skp026さんの回答では成功せず、A2のみが色塗りとなりました。 >なぜA2のみが色塗りになったのか、謎です。 セルの番地指定の違いです。 A$1は行番号を絶対番地としていますが、$A1は行番号が相対番地になっています。 A2セルの条件付き書式で数式を=A$1="h"とするとA$1セルの値が"h"であるか否かをチェックします。A3でも同じA$1セルの値をチェックしますのでA3セルも同じ結果になります。 しかし、A2セルの条件付き書式で数式を=$A1="h"としたときはA2セルは同じ結果になり、A3セルの場合は$A2セルの値が"h"であるか否かをチェックしますので条件が異なるため同じ結果(塗りつぶし)になりません。 A3セル以下も同じように数式で$マークのある番地は固定されて変化しませんが$マークの無い番地は対象セルが相対的に変化する仕様になっています。 =$A$1="h"とすればB列やC列についても$A$1セルの値をチェックしますので、A列のみが処理対象として列記号のAについては$マークを付けませんでした。 Excelで数式を扱うときの常識としてセル番地に付ける$マークの意味を理解して置くことが重要です。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.7

【Excel2003等のExcel2007よりも前のバージョンの場合】 A2セルを選択   ↓ [メニュー]バーの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの中の各条件の囲みの中で上の方に横に複数並んでいる欄の内の左端の欄をクリック   ↓ 現れた選択肢の中にある[数式が]をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの中の各条件の囲みの中で上の方に横に複数並んでいる欄の内の左から2番目の欄に次の数式を入力 =A$1="h"   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた「色」欄の中に並んでいる色のサンプルの中から条件を満たしているセルを塗りつぶしたい色の四角形を選択してクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック   ↓ A2セルにカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ A3~A10のセル範囲をまとめて範囲選択   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ダイアログボックスの中にある「書式」と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリック 【参考URL】  よねさんのWordとExcelの小部屋 > Excel 基本講座 > 条件付き書式   http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.html  よねさんのWordとExcelの小部屋 > Excel基本講座 > セルの塗りつぶし/パターン・網かけ   http://www.eurus.dti.ne.jp/~yoneyama/Excel/syo_pattern.html 【Excel2010等のExcel2007以降のバージョンの場合】 A2セルを選択   ↓ [ホーム]タブ内の「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの中にある[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択してください」欄の中にある[数式を使用して、書式設定するセルを決定]を選択してクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄に次の数式を入力 =A$1="h"   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた背景色のサンプルの中から条件を満たしているセルを塗りつぶしたいの色の四角形を選択してクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの中にある「適用先」欄に入力されている内容を =$A$2:$A$10 に変更する(シート上での範囲選択を使ってセル範囲を指定する事も出来ます)   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック 【参考URL】  よねさんのWordとExcelの小部屋 > Excel2007 基本講座 > •条件付き書式(数式を利用する)   http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-jyosyo2.html  よねさんのWordとExcelの小部屋 > Excel2007 基本講座 > セルの塗りつぶしと網かけ   http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-syo_nuri.html  以上です。

noname#255642
質問者

補足

返信が遅くなりましてスミマセン。上手く成功しました。 ご丁寧に2007以前、2010以降の両方について解答いただきまして、ありがとうございました。 もう一つ質問させて下さい。 引き続きExcel2003での話ですが、数式を、=A$1="h"ではなく、=$A1="h"だと、なぜかA2のみが色塗りで失敗しました。 これはなぜでしょう。 =A$1="h"と=$A1="h"の違いから、なぜA2のみが色塗りできたのか、 またA3~A10が色塗りできなかったのか、ご教授お願い致します。

  • intin
  • ベストアンサー率33% (8/24)
回答No.6

エクセルのどのバージョンでも共通で、条件付き書式を使えばできます。 適切にセルを選択した上で(←ここが非常に重要です。参考URLに詳しい解説が載っています) 条件付き書式の「数式」で条件を指定する機能を使って、 =$A1="h" と入れればできるはずです。 参考URLに記載しているのはExcel2010以降の操作ですが、考え方はExcel2003でも一緒です。 リボンの代わりにメニューから選択してください。

参考URL:
http://www.excelspeedup.com/pulldownsyoshiki/
noname#255642
質問者

お礼

返信が遅くなりましてスミマセン。 上手く成功しました。 回答ありがとうございました。

回答No.5

残念ながら 2003も2010も持っていないので、2016になります。 2003につきましては、こちらが参考になるかと思います。 趣味のパソコン http://www.geocities.jp/ogino2600x/1411.html 1)条件付き書式を設定する範囲(A2:A10)を指定する。 2)リボンの条件付き書式の右側の下向きアローボタン(▼)をクリック 3)メニューから「新しいルール」をクリック 4)ルールの種類 「数式を使用して、書式設定するセルを決定」をクリック 5)ルールの内容に =A$1="h"  と式を入力 6)「書式」ボタンをクリック 7)「塗りつぶし」タブをクリック 8)好きな色をクリック 9)「OK」ボタンをクリック 10)「OK」ボタンをクリック

noname#255642
質問者

補足

返信が遅くなりましてスミマセン。 上手く成功しました。しかし、=A$1="h"ではなく、=$A1="h"だと、なぜかA2のみが色塗りで失敗しました。 これはなぜでしょう。 =A$1="h"と=$A1="h"の違いから、なぜA2のみが色塗りできたのか、 またA3~A10が色塗りできなかったのか、ご教授お願い致します。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.4

[No.3]の訂正、 適用先を「=$A$2:$A$10」に訂正します。

noname#255642
質問者

補足

[No.3]の訂正、 頂いた数式 適用式⇒ =CODE($A$1)=104 上記で試したところ、仰るとおりH入力では失敗しました。 恐れ入りますが、A2~A10を範囲選択後、条件書式で=A$1="h"を使えば、A1にhでもHでも入力すれば、やりたいことが実現できます。 大文字小文字に関係なく、やりたいことが実現できたので、前者の回答のほうが、より汎用性が高いと言えると思うですが、あえてCODE関数で回答いただけたのは、そういう方法もあることを伝えたかったのでしょうか。 それとも、CODE関数ならではのメリットがあるのであれば、別途ご回答いただけませんでしょうか。 是非ご教授ください。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.3

適用先⇒ =$A$1:$A$10 適用式⇒ =CODE($A$1)=104 【補足】 「A1にhを入力すると、a2~a10に色がつく」けど、 Hを入力しても、色はつきません。 【お願ひ】 「A1」と書くなら、「a2~a10」は「A2~A10」と、 「a2~a10」と書くなら、「A1」は「a1」と書くべし!

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>「A1にhを入力すると、a2~a10に色がつく。」 A2~A10を選択して条件付き書式で数式が =a$1="h" のときに指定の色で塗りつぶせば良いでしょう。 Excel 2003以前と2007以降で基本的な考え方は同じです。 しかし、画面の構成が大幅に異なるので操作手順が異なります。 添付画像はExcel 2002と2013の例ですがExcel 2003と2010でも同様になるでしょう。

noname#255642
質問者

補足

返信遅くなりましてスミマセン。 言われたとおり行うと成功しました。 しかし、回答No.1skp026さんの回答では成功せず、 A2のみが色塗りとなりました。 =$A1="h"と、=A$1="h"の違いから、 なぜA2のみが色塗りになったのか、謎です。

  • skp026
  • ベストアンサー率45% (1010/2238)
回答No.1

http://www.becoolusers.com/excel/conditional-formatting-fx.html 上記のような、条件付き書式の中で、 式で判定する方法が有効です。 今回の場合の具体的な式には、 =A1="h" が考えられますが、これだと書式コピーすると、 判定するセルがずれてしまいます。 列は固定したいはずなので、 =$A1="h" とするとうまくいくと思います。 今回の場合の式は以下の式の短縮形です。 =IF($A1="h",TRUE,FALSE) より複雑な式の場合は、このようなやり方にすると、 よいこともあります。 分かりにくかったらごめんなさい。

noname#255642
質問者

補足

返信遅くなりましてスミマセン。 A2~A10を選択⇒条件書式⇒数式入力:=$A1="h" or =A1="h" A1にh入力⇒A2のみ色塗り。A3~A10は不変で失敗。 言われたとおり行いましたが、やりたいことが成功しませんでした。