• 締切済み

関数を使用条件付き書式設定によりセルに色をつけたい

説明が下手で申し訳ありません。 Excelで、単一セルから結合セルを参照させたセルに、条件付き書式でセルに色をつけたいです。 単一セル→結合セルの参照は、連続してコピーできるようにしたかったので、indirect関数等を使用してます。 直接セルを参照させるとうまく行きます =IF(AND($q$9>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) indirect関数等を使用すると失敗しました。 =IF(AND(INDIRECT($q$1&INT(ROW()/3)+5)>=$AH$6,$q$9<=$AH$6+9,$AH$6+9<=$r$9),TRUE) ※ $q$1は、列のアルファベットを取得したセルで、アルファベット"q"を取得しています。 なので、 INDIRECT($q$1&INT(ROW()/3)+5)により$q$9の値を取得しているつもりです。 どのようにしたら良いかご教示いただけないでしょうか? よろしくお願い致します。

みんなの回答

  • yamada82
  • ベストアンサー率28% (15/53)
回答No.2

試してみましたが、関数的には問題なく動作してそうな気がするんですよね。 やっぱ状況と何がしたいかがはっきりしないと解決策が出てこない気がします。

kayakayakaya1
質問者

お礼

ご指摘ありがとうございます。 イメージできるように添付等しようと思いますが、この質問に添付できなさそうなので改めて質問させて頂こうと思います。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

実例が想像しにくいが、シートのセルの2,3例を挙げてもらえないか? 条件付き書式の効果を出すセルはどこですか? やりたいことを、文章で表現できないか? 「条件付き書式の効果を出すセル」と関数式を入れるセルは同じでないとダメなはず。 ーー なぜINDIRECT関数を使うのか?まず文字列で表現しないとダメなのか?

kayakayakaya1
質問者

お礼

ご指摘ありがとうございます。 イメージできるように添付等しようと思いますが、この質問に添付できなさそうなので改めて質問させて頂こうと思います。

関連するQ&A

  • 条件付き書式設定でユーザー定義関数

    ユーザー定義関数を以下のように作成しました。 Function AAA(i As Integer) As Boolean If i = 1 Then AAA = True Else AAA = False End If End Function このユーザー定義関数を条件付き書式で使用するときに期待した動作になりません。 条件付き書式のルールに 【1】 =AAA(1) とするとTRUEになりましたが、 【2】 =AAA(ROW(B1)) と入力するとTrueと判定されませんでした。(ここでTrueと判定させたかった) なお【3】 =ISERROR(AAA(ROW(B1))) と入力するとTrueと判定されました。 (補足) 【2】はB1セルの行番号(=1)をAAA関数で判定させてます。 実際は、列番号も引数に加えて、表全体に条件付き書式を設定しようとしてます。 ちなみにセルに直接上記数式を入力した場合 【1】→True 【2】→True 【3】→False となります。 【2】のエラーの原因は何でしょうか? 【2】でTrueと判定させる方法はありますか? 以上、よろしくお願いします。 ※エクセル2010

  • 書式設定

    こんにちは。 エクセルの書式設定について教えてください。 以下の関数を使用してカレンダーを作ったのですが、 DATEの年の該当部分に「2012」といれてるところを 「24」(平成24年)と入力して関数を成立させることはできますか? 現在は設定方法がわからず、関数を参照するセルは別設定にしてます。 日付部分の関数 =IF(MONTH(DATE($C$2,$H$2,ROW(A1)))=$H$2,DATE($C$2,$H$2,ROW(A1)),"")

  • 【excel】row関数を結合セルに使う方法

    お世話になります。 row関数を用いてB列のような数字の重ならない階級を作成したいと考えております。これをさらに2つずつの結合セルに適応させたいのですが、A列のように結合セルの一番上の列の数字をrow関数が参照してしまうので値が飛んでしまいます。 B1=(ROW())*10&"-"&(ROW())*10+9 という関数で作成したのですが、どうにか一括してB列みたいなものは作れないでしょうか。もし可能でしたら2つ以上のセルにも応用できる方法をご教示いただけますでしょうか。 パソコン、excelにお詳しい方よろしくお願いいたします。

  • エクセルでFALSEだけ抽出し切れ目なく順に表示

    エクセル2010で、ワークシート関数の質問です。 Q3:R19の表があります。 Q列にはTRUEかFALSEが必ず入ります。(空白や文字列は無し) R列には文字列です。 Q列でFALSEのセルだけ、同じ行のとなりのR列の文字列を順に抜き出し、V9セル以下に切れ目なく表示したいのです。 TRUEを抜き出すのならV9セルに =IF(ROW(A1)>COUNTIF($Q$3:$Q$29,TRUE),"",INDEX($R:$R,1/LARGE(INDEX(($Q$3:$Q$29)/ROW(A$3:A$29),),ROW(A1)))) と、以前教えてもらった数式を入れて、下へドラッグ・アンド・ドロップすれば添付の図のように抽出できます。でもこの式自体をよく理解できていないので、応用ができません。式の中のTRUEをFALSEに変えただけではだめでした。 どう変えればいいのでしょうか? 作業列を作って、=NOT(Q3) とし、TRUEとFALSEを逆転させ、Q列の代わりに作業列を参照する方法やVBAでなら思いつきますが、それ以外にいい方法はないのでしょうか?

  • VBA セルにSUM関数を相対参照で埋め込む時に変数を使用したい

    VBAを使用して、セルに相対参照でSUM関数を仕込もうと考えています。 Cells(goukei_start_row, 10) = "=SUM(R11C10:R" & goukei_start_row - 1 & "C" & 10 & ")" 上記でやると、絶対参照で =SUM($J$11:$J$43) となってしまうのですが、 $を付けず=SUM(J11:J43)のような形にするにはどうすればよいのでしょうか?

  • エクセル関数を使用しての文字結合

    エクセル関数を使用して文字結合をしたいと思っています。 内容としては、添付画像のように、 ・同じ苗字の人の結果を一つのセルにまとめたい ・セルの結合機能は使用せず、あくまで関数を使用して一つのセルにまとめる ・図のように改行された状態での結合がベストだが一列に表示されても構わない です。 僕の予測としては、 ・if関数とconcentrate関数を使用する ・if関数で下のセル(苗字)と同じ場合、結果セルと下の結果セルを結合(concentrate)する といった考えていますがうまく結果が出ず困っております。 皆様のお知恵をご教示頂けたら幸いです。

  • ifを繰り返すと書式設定が反映されない

    Excel2010です。 O2のセルに入る数値を通貨の円マークが入る書式設定をしています。なおかつ、O2には以下の長い関数が入っています。IFが一個だけなら、円マークが出るのですが、2個以上追加すると、円マークが出ません。試しに他のセルに通貨の円マーク付きの書式設定をして=O2の値を取得しても、書式設定が反映されません。 ちなみに、C1からN1までは1月~12月のタイトルがあり、C2からN1までは各月の金額が入っています。$R$1は今月の月の数字が入っており、$R$1の値が1ならC2の値をO2に表示、$R$1の値が2ならD2の値をO2に表示するようにしています。$R$1には=month(Q1)関数が入っていて、Q1には=today()が入っています。 よろしくお願いします。 =IF($R$1=1,C2,"")&IF($R$1=2,D2,"")&IF($R$1=3,E2,"")&IF($R$1=4,F2,"")&IF($R$1=5,G2,"")&IF($R$1=6,H2,"")&IF($R$1=7,I2,"")&IF($R$1=8,J2,"")&IF($R$1=9,K2,"")&IF($R$1=10,L2,"")&IF($R$1=11,M2,"")&IF($R$1=12,N2,"")

  • EXCELで、セル一つにつき使える関数の数

    エクセルで一つのセルにIF関数を9個以上使おうとすると、エラーになります。8個なら大丈夫です。ヘルプを参照しても、「一つのセルに7個までしか関数を使うことができない。」と書いてあります。それでも、9個以上IF関数を使いたいのですが、何か良い方法はありますか。

  • EXCEL 条件付き書式(数式を使用して書式

    EXCELの書式設定に ・条件付き書式(数式を使用して書式設定)機能を使用したいのですが・・・・・・。 任意の2セルの左側のセルに下記設定を行い 100、0と各セルに入力しても指定した書式表示が実行されません。 設定記述: ="and(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0)>0, OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1)=0)" 固有セルを指定しないのは、この書式を、同じ列の下位行にコピーして使いたいからです。 (セルに直接記述した書式は、相対セル記述した場合、コピーするとアドレスも変化しますが  条件付き書式設定の中の数式記述はコピーしてもアドレスが変わりません) EXCEL2007,EXCEL2010で確認しています。 尚、andで指定している各条件を単一で指定すると正しく動作します。 いろいろとネットで調べましたが、解決できず。 解決方法は他にもあると思います。 実現したい仕様: 隣接した2つのセルに対して Aセルの右隣のセルBセルと仮定して (1)Aの値>Bの値 の時 表示色=緑 (2)Aの値<Bの値 の時 表示色=黄 (3)Aの値>Bの値 且 Bの値=0 の時 表示色=赤 (1)は (OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0) > OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1) (2)は (OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0) < OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1) で実現できています。 アドバイスありましたらお願いいたします。

  • セルAの値がTRUEだったらセルBの色を灰色に塗りつぶしたい

    関数、マクロ初心者なのですが、 Excel2003 にて、セルAの値がTRUEだったらセルBの色を灰色に塗りつぶすという関数を使いたいです。 どのようにしたらいいでしょうか? 関数では出来ないものでしょうか? IF関数でやってみているのですが、うまく出来ません。 どうぞよろしくお願いいたします。

専門家に質問してみよう