所定のワンセルに数値を入れると、指定範囲のセルの色が変わる関数を知りたいです(関数じゃなくてもいいです)。
数値の変動によって色が変わる指定範囲場所は変わりたいです。

たとえば、セルA1に数値1を入れると B2~D5が青色に変わる。数値2を入れると、E5~H10までが黄色に変わる エクセルを完成させたいのです。
         
ただし、同じシートを繰り返し使うため、指定範囲以外は色がついていたら、白に戻したいです。どなたかエクセルの神様、教えてください。

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

A 回答 (5件)

ya4444gooさん 今日は!


>どなたかエクセルの神様、教えてください。
早くExcelを勉強されて自分が神様に為れば良いのですよ!
■Excel(エクセル)基本講座:条件付き書式の使い方↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-s …
内容:設定方法・複数条件の設定・カレンダーの土日に色を付ける・
   条件の優先順位・条件が4以上の場合(VBA)・保護されているセル   に色をつける・条件付き書式の削除・別のシートを参照する
■Excel(エクセル)基本講座:Excel(エクセル)関数一覧表↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
■Excel(エクセル)関数の技:目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/ …
セルに色を付ける技:関数ではできませんので、条件付き書式やマクロ(VBA)を利用します。
■Excel(エクセル) VBA入門:セルのフォント・塗りつぶし・罫線を設定する↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
回答者のhukuponlogさんより回答されていますので 、参考まで。
またExcelのお勧めサイトを紹介して置きます。勉強されて神様までは行かなくても達人に為って下さい。
■Excel(エクセル)入門/基本/上級/実用講座の総目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_ …
■Excel2007(エクセル2007)基本講座の総目次↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/i …
概要:「よねさんのWordとExcelの小部屋サイト」で図入りで、親切に解説して呉ますのでお気に入りに登録したいサイトです。
エクセルQ&A(Tips) も有り解説に無い分の検索で探せる1番のお勧めです。
■エクセルの学校・ライブラリ他↓
http://www.excel.studio-kazu.jp/excellib.html
概要:表作成全般・関数・VBA・便利機能・その他・よくある質問・困った等ジャンル別に探せます。(Mac用も一緒に見れます)
■Excel(エクセル)学習室↓
http://www.kenzo30.com/
概要:Excel (エクセル)の書式設定や関数の使い方など、学習のための材料を提供している「Excel(エクセル)学習室KENZO30」のサイトです。
『エクセル入門・初級編』 『エクセル中級・特別編』 『エクセル ワンポイント編I』 『エクセル ワンポイント編II』『エクセル質問掲示板』『作品紹介』『リンク集』のジャンル別に分かれて操作法・疑問の解決を初心者でも理解できるサイトで利用価値は有ります。
■エクセルの勉強部屋↓
http://kiyopon.sakura.ne.jp/index.shtml
概要:エクセルの操作に関する図解説明・ワークシート関数の説明・エクセルの便利な使い方の説明・エクセルの操作とマクロに関する自習問題と解説・
マクロの作成方法を解説(例題含む)・パワーポイントによる操作説明とエクセルでの操作実習・エクセルでのみなさんの質問を寄せてください・のジャンルに分かれています。
関連:■Excelの質問(日付順)↓
    http://kiyopon.sakura.ne.jp/situmon/index01.htm
   内容:Excelの質問集で日付の新しい順に一覧リストで表示され      てます「エクセルの勉強部屋」のサイトです。
    • good
    • 0
この回答へのお礼

たくさんのリンクありがとうございました!
非常に助かります!

お礼日時:2009/05/21 15:09

(1)1セルの値を変えたとき、どれぐらいの色のバリエーションを考えているのか。

2003までなら、3色までなら、問題は無いが。
(2)>A1に数値1を入れると B2~D5が青色に変わる。数値2を入れると、E5~H10までが黄色
このように色が変わる範囲が変わるのも難問だ。
ーー
>エクセル関数を教えてください
色を変えるのは条件付き書式で、その中の方法の1つに関数式(らしきもの。少しルールが違う)を書ける(利用できる)。しかし普通の関数ではない。
普通の関数では、セルの色を変えられない、ことを知っておくこと。色は「書式」に属するもので、関数は「セルの値」を決めるものだ。
>、同じシートを繰り返し使うため、指定範囲以外は色がついていたら、白に戻したいです
これは言いたいことの詳細が不明。
==
テスト例でやってみると
B1:C5を範囲指定
書式ー条件付書式ー数式が
式に =$A$1=1
セルパターン色に黄色
C61:D10を範囲指定(上記と共通範囲が無い様にした。またそうすること)
書式ー条件付書式ー数式が
式に =$A$1=1
セルパターン色にライトブルー
これでA1を1と2に変化させて、うまく行くか、テストでやってみてください。何か少し様子がおかしい(A1を2に変えて、1の時の抹消が完全で無い)。
共通セル範囲が有ると多分エクセル側が混乱すると思う。
===
VBAという、プログラムを組む方法も有るが、A1セルの値の変更に即座に反応するプログラムは難しい。
以前(A1セルが1->2と変わったとして、1)の着色範囲を消す必要が有るが、この直前の1に当たる数や、これがどういう範囲だったか、プログラムで覚えて居ないと出来ないのだが、少数で固定ならプログラムに組み込むこともやるが、多数だと難しい。

この回答への補足

 

補足日時:2009/05/21 09:14
    • good
    • 3
この回答へのお礼

ありがとうございました。

お礼日時:2009/05/21 15:07

一例です。


(1)B2:D5を範囲選択→書式→条件付き書式→「数式が」を選択、数式欄に「=$A$1=1」→書式→パターンタブで「青」を選択→OK
(2)E5:H10を範囲選択→書式→条件付き書式→「数式が」を選択、数式欄に「=$A$1=2」→書式→パターンタブで「黄」を選択→OK

>同じシートを繰り返し使うため、指定範囲以外は色がついていたら、白に戻したいです。
⇒これを全シートを選択ボタン(A列表示の左枠)押下→塗りつぶしボタンで「塗りつぶしなし」を選択ではダメでしょうか。
    • good
    • 2
この回答へのお礼

なるほど!ありがとうございます!できました!

お礼日時:2009/05/21 15:09

別に神様ではありませんが、条件付き書式でやるのが一番簡単だと思います。

ただし、ご質問の場合色を変えるセルと値を入力するセルが異なりますから、関数(数式)と組み合わせて使う必要がありそうです。

具体的には、まずB2からD5までを指定して、条件付き書式を出します。指定の方法は、
【数式が】 【=A1=1】
として、書式を設定(背景色を黄色)すれば良さそうです。
次に、E5からH10までを指定して、同じく条件付き書式を出し、
【数式が】 【=A1=2】
同様に書式を設定すれば良いでしょう。多少面倒ですが、この繰り返しでいけそうです。

=A1=1 という式は =if(a1=1,true,false)というif関数と同じ意味になりますから、if関数で書きたければ上記のように書けばいけるでしょう。
    • good
    • 2
この回答へのお礼

いわれたとおり試してみたら、できました!ありがとうございます。

お礼日時:2009/05/21 15:10

「条件付き書式」を使えばいいかもしれません。

書式メニューの中にあります。
    • good
    • 0
この回答へのお礼

なるほど!ありがとうございます。

お礼日時:2009/05/21 15:11

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

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

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

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

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

Q車の色の名前の一覧を探してます!

自動車の色の名前は、ウイニングブルーメタリック、カナリーイエローマイカなど独特なカタカナ名が多いですが、このような名前が一覧になっているようなHPを探しています。ありましたらどなたか教えてください。

Aベストアンサー

ここで探して下さい。

参考URL:http://www.soft99.co.jp/

Q範囲指定したセル中のカーソルを合わせたセルに指定した数値を足していくVBA

エクセル2010を使っている者です。
「Color = 13434828」と色を設定したセル範囲においては、カーソルを合わせたセルに、キーボード上の数字をクリックするとその数字が足されるというマクロを作ることは可能ですか?

伝票を見ながら1か月分のデータを集計しようと思っているのですが、そのマクロがあると作業がはかどります。

どなかたよろしくお願いいたします。

Aベストアンサー

No.5です。
>セルを移動させて戻らないと連続して同じセルに加算されない点はなんとかならないのでしょうか。

こちらの環境では正しく動作しているのですが・・・
ブックを開いた時の最初の1回だけかと思っていましたが、全部のセルで同じ状況だと
2番目のプロシージャの動作に問題があります。
エラーが出て止まることはないですよね?
1番目のプロシージャでイベントを制御しているので、そこでエラーが出ると動作しなくなります。
とりあえず2度目からも起動しなくなると言うことですので、一旦コードをすべて消して、
Dim MySum As Variant 
と2番目のプロシージャだけの状態にして、
Private Sub Worksheet_SelectionChange(ByVal Target As Range) の下の行に
MsgBox "SelectionChangeイベント"    '追加-----①
End Withの下の行に
MsgBox "セルの値は" & MySum      '追加-----②
この2行を追加してください。これでプロシージャが状況が分かります。
セルの範囲が変更になると①番目のメッセージがでるので動作していることが分かります。
特定色を選択した場合と特定色のセルに入力したときに②にセルの値が表示されます。
空白の場合は、値は表示されませんがメッセージだけは表示されます。
②が表示されない場合は、特定色のセルでは無いか、コードに問題があります。
①が表示されない場合は、プロシージャが実行されていないということになります。
正しく動作しているようでしたら、1番目のプロシージャを貼り付けて同じように確認してください。
動作しているようなら、特定色のセル以外にカーソルを移動させて保存してブックを閉じてください。
再度ブックを開いて、特定色セルで加算されるか確認してください。
この二つが動作していれば加算されます。
3番目とPrivate Sub Workbook_Open()のコードは、動作の確認できたら貼り付けてください。
Private Sub Workbook_Open()のコードは保存してからブックを閉じて、次に開いた時に実行されます。

>3つめのプロシージャの意図はどういったものなのでしょうか?

セル内での編集を禁止しています。あと編集の途中で他のセルをクリックすると
加算されるのを防ぐためです。
これに関しては、必要なければ消しても構いません。
あとIF文ですが、単一行形式の構文はEnd Ifがありません。

No.5です。
>セルを移動させて戻らないと連続して同じセルに加算されない点はなんとかならないのでしょうか。

こちらの環境では正しく動作しているのですが・・・
ブックを開いた時の最初の1回だけかと思っていましたが、全部のセルで同じ状況だと
2番目のプロシージャの動作に問題があります。
エラーが出て止まることはないですよね?
1番目のプロシージャでイベントを制御しているので、そこでエラーが出ると動作しなくなります。
とりあえず2度目からも起動しなくなると言うことですので、一旦コードをす...続きを読む

Qファイル一覧の項目の色について

ディスクを開くとフォルダゃファイルの一覧が表示されますが、この一覧の各項目名というか表題というか、この表示される名前に色はつけられないものなのでしょうか、色分けできればわかりやすいので、教えていただきたいのですが。

Aベストアンサー

explorerだけではできそうにない。
いろいろなツールがフリーソフトである。


たとえば、
http://homepage3.nifty.com/pyxis/

Qエクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の

エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の色を白にして消したいのですが、番号を入れるマクロがわかりません。マクロに記録でA2からB12までのセル内の字の色を白

にする方法は

Sub 字を消す()
'
' 字を消す Macro
'

'
Range("A2:B11").Select
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
End SubでできるのですがD3に開始番号、E3に終了番号を指定する方法がわかりません。ご教授お願いします

Aベストアンサー

>D3に開始番号、E3に終了番号を指定する方法がわかりません。
 ⇒マクロ記録でD3、E3を選択すればコード化されますが、開始/終了番号での振舞はご自身でコード化しない限り、マクロ記録では設定できません。 
  多分、D3、E3に入力される情報によって、対象範囲の該当セルフォント色を変更したいという事ではないでしょうか。
  ならば、D3,E3セルに入力する情報と対象範囲との関連付けを明示しないと問題解決しませんのでこの質問は一旦締めて、再質問しては如何でしょうか。

Q「名前をつけて保存」のデフォルト表示形式を「一覧」以外に変えられますか?

MS-Office以外のアプリケーションで「名前をつけて保存」を選択した際の、
ダイアログウィンドウ内の表示形式を変えられますか?

「詳細」「一覧」「アイコン表示」「並べて表示」「縮小版」
などの選択肢を一定のものに変えたいのです。
(現状では、毎回「名前をつけて保存」を開くたびに「一覧」表示に戻ってしまうようです)

OSはWindows-XPです。

Aベストアンサー

Windows標準の機能(フォルダオプションなど)では出来ませんが
http://okazaki.incoming.jp/matatabi/
のFasieと言うフリーSOFTを使えば出来ます。

http://okazaki.incoming.jp/danpei2/software/fasie.htm
http://pasokoma.jp/39/lg390467#390654

Qセル範囲内いずれかの数値が他のセル範囲に含まれるかを調べたい

EXCEL2003です。
A1~H1にそれぞれ3桁の数値が入っています。(空欄もあります。)
これら範囲内の数値のいずれか一つでも他のセル範囲(次のシートのA1~A50まで)に
含まれていれば結果をJ1に表示したいのですが、可能でしょうか。

当初はJ1に、if(A1が含まれるか,"あった",if(B1が含まれるか,"あった",if(~と、
やってましたが、関数のネストレベルに引っかかってできませんでした。

MATCH関数だと一つの数値が含まれるかどうかは調べられるようですが、
検索したい数値が複数ある場合はやはりセルを分けて別々に評価するしかないのでしょうか?

Aベストアンサー

NO6です。
=COUNT(A1:H1)を
=SUM(IF(LEN(A1:H1),1))又は=SUMPRODUCT((LEN(A1:H1)>0)*1)
で如何でしょうか。

QAccessで指定する色数値の一覧ありませんか?

MsAccess 2002でフォームを作成しているのですが、フォームの色指定に使える色数値の一覧表はどこかにありませんでしょうか?

VBAを使いRGB関数で指定しても期待したとおりの色を取得することができません。
Accessで使用できる色数値の一覧を参照できるページなどご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

#1です。先程のページの最後に「このホームページで表示している色は近似色です。正確な色ではありませんので御注意下さい。」と書いてありますので、もしかしたらうまく同じ色が出ないかも知れないですね。
とりあえずカラーチャートのリンク集がありましたので見てみて下さい。
http://www2u.biglobe.ne.jp/~color/all/l_02a_chart.htm

参考URL:http://www2u.biglobe.ne.jp/~color/all/l_02a_chart.htm

Aベストアンサー

書式>条件付き書式

セルの値が 次の値より小さい を選択
値は$B1とし、書式を設定。
設定したセルをコピーすればできませんか?

Q一覧にある名前に該当する名前を赤くしたいのですが…

こんばんわ、いつもお世話になっています。

Excelのシートで
「シート1」に名前一覧を作り、「シート2」に名前を入れていくと「シート1」に名前がある人を入力すしたとき入力した文字を赤くしたり太字させることは可能ですか?

Aベストアンサー

Sheet1のA列を全て選択して、挿入-名前-定義で適当な名前を付けます。(例 リスト)
Sheet2のA列を全て選択して、書式-条件付き書式で「数式が」にして

=NOT(ISERROR(MATCH(A1,リスト,0)))

と入力し、書式を設定します。

これで希望のようになりますか?

Q指定した範囲のセル内の数値を検索したい(VBA)

いつもありがとうございます。
また皆様のお知恵を拝借したいと思い質問をさせて頂きました。

現在VBAを勉強中なのですが、以下の場合、コードはもっと簡単になるでしょうか?


【やりたい事】
プログラムを実行すると、シート2に数値が返されます。
 ※数値が返される範囲は「A1~A100」だとします。

シート2の「A1~A100」には「1~4」の数値が返され、それぞれの数値が何個あるかを検索。
検索した結果を、「シート1」の指定したセルに表示する。


【記述したコード】

dim x as integer

x = 0

For x = 1 To 101

If Sheets("シート2").Cells(x, 1) = "1" Then

1count = 1count + 1

End If

If Sheets("シート2").Cells(x, 1) = "2" Then

2count = 2count + 1

End If

If Sheets("シート2").Cells(x, 1) = "3" Then

3count = 3count + 1

End If

If Sheets("シート2").Cells(x, 1) = "4" Then

4count = 4count + 1

End If

Next x

上記のコードで「"x"count」に数値を加算していき、最終的に以下のように各数値をシート1に表示させています。

Sheets("シート1").Range("A1") = 1count
Sheets("シート1").Range("A2") = 2count
Sheets("シート1").Range("A3") = 3count
Sheets("シート1").Range("A4") = 4count



結果的にはうまくカウントされて、結果も正しく表示されるのですが、
列をまとめて検索してやる方法などがあれば、もっと短く分かりやすく
おさまるのではと思い、質問をさせて頂きました。

こうやるともっと簡単にできるよなどがあれば、教えて頂けないでしょうか。
Excelの関数などを使用しても構いません。

以上、よろしくお願いします。

いつもありがとうございます。
また皆様のお知恵を拝借したいと思い質問をさせて頂きました。

現在VBAを勉強中なのですが、以下の場合、コードはもっと簡単になるでしょうか?


【やりたい事】
プログラムを実行すると、シート2に数値が返されます。
 ※数値が返される範囲は「A1~A100」だとします。

シート2の「A1~A100」には「1~4」の数値が返され、それぞれの数値が何個あるかを検索。
検索した結果を、「シート1」の指定したセルに表示する。


【記述したコード】

dim x as integer

x = 0

F...続きを読む

Aベストアンサー

こんばんは!
横からお邪魔します。

すでに解決済みのようですが・・・
ごく簡単に

Sub Sample1()
Dim i As Long
For i = 1 To 4
Worksheets("シート1").Cells(i, "A") = WorksheetFunction.CountIf(Worksheets("シート2").Range("A:A"), i)
Next i
End Sub

といった具合ではどうでしょうか?m(_ _)m


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

人気Q&Aランキング