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

excelの詳しい方、ぜひ教えてください!

Sheet1にあるデータを、計算式によってSheet2に参照させていますが、Sheet1のセルの色までは参照する事ができません。
計算式はいたって簡単で、例えばSheet1のA1を参照している時は、Sheet2のセルに
=Sheet1!$A$1
と計算式を入力しています。
条件付き書式や関数も考えたのですが、
”もし、参照しているセルに色がついていたら、返すセルにも色もつける”
をどうすれば出来るのかわかりません。

どうか、わかる方ぜひ教えてください。お願いします!!

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

A 回答 (2件)

セルを色情報を得ることはできませんから、通常の関数では行うことは出来ません。

    • good
    • 4
この回答へのお礼

どうもありがとうごさいました。
この質問について、通常の関数でなければ可能ということですか?
それはつまりVBAということでしょうか?

お礼日時:2007/02/01 12:07

エクセルはあくまで表計算ソフトなので文字書式などを計算式としていれることはできません。


VBAを利用すれば簡単です。

色つきセルを計算するURLを参考に載せました。
これを利用してみてはいかがですか?

参考URL:http://www.geocities.jp/chiquilin_site/data/0508 …
    • good
    • 2
この回答へのお礼

ありがとうございました。
また、お礼が遅くなりすいません。
一度URLを参考にチャレンジしてみようと思います。
本当にありがとうございました。

お礼日時:2007/02/05 15:39

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

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

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

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

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

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

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

Aベストアンサー

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

Q色のリンクは出来ますか?【エクセル】

=で、数式のリンクはできるとおもうのですが、色まではリンクできないのでしょうか?同一ブックなら、作業グループ化でできるようなので、別ブックへリンクする場合でお願いします。

例 ブック1でA1=20(赤文字)→ブック2で、A1=20(赤文字)

Aベストアンサー

=はエクセルの関数を設定するときに使うものです。関数はセルの「値」をとって加工して、値を返すものです。
色はセルの書式による設定のもので、関数では左右できません。
書式と値を峻別して認識すること。
このエクセルの(現状の)基本原則を認識し、無駄な質問をしないよう。

Q【Excel】 セルの色での判断はできますか?

使用環境:Office2003

条件付書式を使用して、セルの値がxxならばセルを着色する・フォントを変える、というのは可能ですが、

逆に

セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する

ということは可能でしょうか?
※VBAを使わなければそれにこしたことはないですが、
 必要ならばコーディングも教えてください

よろしくお願いします。

Aベストアンサー

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。
ワークシート画面に戻って、適当なセルに
=CellColor(A1)
と入力してみて下さい。A1セルの色番号が表示されます。(背景色なしの場合は0が返ります)
この戻り値判定して、関数などでセルに値をセットすればよいでしょう

Function CellColor(ByVal rng As Range)
With rng.Cells(1, 1).Interior
If .ColorIndex = xlNone Then
CellColor = 0
Else
CellColor = .ColorIndex
End If
End With
End Function

ただしセルの背景色を後から変えても、ユーザ定義関数の戻り値は自動的には変わりません。式を入力した後で背景色を変更した場合は
 ALT+Ctlr+F9
で強制再計算させる必要があります。

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて...続きを読む

Qあるセルに色を付けた時、別のセルにも同じ色が付く

表1と表2が有って、表1のセルに色をつけると、表2の同じ内容のセルにも同じ色が付くようにしたいのですが、
良い方法は無いでしょうか?

表1         表2
aaaa  |  bbbb cccc dddd
bbbb  |  cccc aaaa gggg
cccc  |  aaaa bbbb cccc



表1のbbbbに色つけると表2の複数のbbbbにも同じ色が付くようにしたいです。
セル1つずつに条件付書式を設定しても良いですし、関数で一括でもかまいません。
エクセル2000です。

Aベストアンサー

ごめんなさい #2です。
文字色ではなくセルの色を変更ですね。
ご希望の内容に添って書き換えました。
表1をSheet1 表2をSheet2としています。

1.Sheet1のB1セルを選択して ツール→名前を挿入

2.名前の欄に  セル色
  参照範囲の欄に  =GET.CELL(63,Sheet1!A1)+NOW()*0
  と入力し 追加ボタンを押してOKで閉じてB1セルに =セル色 と
  入力し、このセルを下までコピー
  これで、セル色を変えてF9を押すと、B列に 色番号が表示されます。
 
参考:Excel色番号 http://www.geocities.jp/chiquilin_site/data/files/color_number.html

------
ここまでは上記の方法を使用出来るのですが、条件付き書式では
3つまでしか設定が出来ません。
#1の方が言われている通り、セルの色を変える関数もなく、
条件付き書式では3種類しか設定出来ないので、3つ以上の値がある場合は
VBAでセル色を変更するしか無いかと思います・・。

ごめんなさい #2です。
文字色ではなくセルの色を変更ですね。
ご希望の内容に添って書き換えました。
表1をSheet1 表2をSheet2としています。

1.Sheet1のB1セルを選択して ツール→名前を挿入

2.名前の欄に  セル色
  参照範囲の欄に  =GET.CELL(63,Sheet1!A1)+NOW()*0
  と入力し 追加ボタンを押してOKで閉じてB1セルに =セル色 と
  入力し、このセルを下までコピー
  これで、セル色を変えてF9を押すと、B列に 色番号が表示されます。
 
参考:Excel色番号 http://www.ge...続きを読む

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

QEXCEL(IF関数)でCELLの色を変える。

例えば、IF関数で真ならセルの色を赤色にしたり、文字の色を変えたりする関数とかはあるのでしょうか?わかりません・・・知ってる方いらっしゃれば教えて下さい。

Aベストアンサー

こんばんは。

関数ではありませんが‥

<条件付き書式>ではダメなのでしょうか?

メニュー<書式>-<条件付き書式> です。

どのような条件を想定していらっしゃるのかわかりませんが、
<条件付き書式>については↓の参考URLをご覧ください。

▽条件付き書式・その1
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

▽条件付き書式・その2
http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu5.htm

参考URL:http://homepage1.nifty.com/kenzo30/ex_kisosyo/ex_ks_syokyu4.htm

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条件付き書式のやり方。隣のセルも色付け。

エクセル初心者です。

(1)B1に特定の文字が入力された場合特定の文字から隣のセル
6つ目まで(B~H)を特定した色になるようにしたいです。
条件付き書式で設定が可能かと思うのですが
やり方が分かりません。

「条件付き書式」→「新しい書式ルール」→「数式を使用して~」
のところで悩んで止まっています。
この設定ではできないのでしょうか?

(2)また、添付画像にはありませんが、たとえばB列のセルに
 「え」または「お」が入った場合、黄色にする、という設定は可能でしょうか?

(3)条件付き書式はいくつまで設定可能なのでしょうか?

どなたか回答お願いします

Aベストアンサー

NO2です。
もう一度、手順を整理します。
(1)色付け範囲を選択。(仮にB:Hを選択)
(2)「条件付き書式」→「新しい書式ルール」→「数式を使用して~」を選択→数式欄に=OR($B1="え",$B1="お")→書式→塗りつぶしタブで黄色を選択→OK

>最初の列しか色付けされない
 ⇒上記の数式欄で絶対参照記号の$が抜けているからです。

>同じ色をは使えない
 ⇒そのようなことはありません。

>(2)=OR($AC1="~)で色がつかない
 ⇒AC:AL列を選択→新しい書式ルール」→「数式を使用して~」を選択→数式欄に=OR($AC1="あ",$AC1="い",$AC1="う")→書式→塗りつぶしタブで色を選択→OK

因みに同一のセル範囲で条件を追加する場合、同一範囲を選択→「条件付き書式」→「ルールの管理」→「新規ルール」→「数式を使用して~」以下同じ

QExcelで隣のセルを参照して色分け

こんにちは。
Excelの表で、例えば会社名がA列のセルにあって、
B列に営業担当が入力されているとします。
A列    B列
◎会社  山田
△会社  鈴木
A列の会社名のセルををB列の担当を参照して、山田なら黄色、鈴木なら青
の様に書式設定をしたいのですが、どの様に設定したら良いでしょうか?
条件付書式だとそのセルのみを参照ですので、隣のセルを参照してと
いう設定は出来ますか?
よろしくお願いします。

Aベストアンサー

A列を選択して、「条件付き書式」から
条件1に、「セルが」を「数式が」にして隣の欄に
=B1="山田"
を入力して書式を”黄色”に設定
条件2も同様に、「数式が」にして
=B1="鈴木"
を入力して書式を”青”に設定すれば出来ます。


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

人気Q&Aランキング