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)
で実現できています。
アドバイスありましたらお願いいたします。
No.3ベストアンサー
- 回答日時:
読んでいてワークシート関数式が不可解でなりませんでした
基本としてOFFSET構文とINDIRECT構文は 目的としては同じ動きをさせるもの
「自ら」を指定したい時は確かにありますが、その自らを指定する時の「自ら」に参照関数を指定し、
その関数中の「自ら」を指定するのに参照関数を…
………
……
…
…
…
際限ないですよね?
止めましょう
実際時折私もこのパラドクスに度々陥りますが
この「自ら」を
A1から見て何処、
とか
直ぐ左上のセルから見て、1,1の位置、
とかに 指定してやる様にしています。
あと、OFFSET構文の第4番目と第5番目の引数を省略するのはお勧めできません
関数式は一種のプログラムです。
ですから、基本に立ち返り 判読性も重視した方が良いですよ。
ところで各構文の基本的な使い方ですが、
=OFFSET($a$1,ROW()-1,column()-1,1,1)
=OFFSET($a$1,ROW()-1,column(),1,1)
A5にOFFSET構文を書くときは
=OFFSET(A4,1,0,1,1)
=OFFSET(A5,O,1,1,1)
(※注:$で固定されていない領域指定はフィルやコピーとともに相対的に書き換えられる
そのため領域A5に書かれた式でA5と指定されていた場合、
この指定は常に移動先の領域を示すものに、セルの移動・コピーと同時に書き換えられる。
ので、ROW()やCOLUMN()を意識して使う必要はない)
=INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)
=INDIRECT("R["&0&"]C["&1&"]",FALSE) (※注:これは相対参照の書き方)
なんてのが一般的では?
なので
緑 =AND(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)>INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE),INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)<>0)
赤 =AND(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)>INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE),INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)=0)
黄 =(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)<INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE))
または、
緑 =AND(INDIRECT("R["&0&"]C["&0&"]",FALSE)>INDIRECT("R["&0&"]C["&1&"]",FALSE),INDIRECT("R["&0&"]C["&1&"]",FALSE)<>0)
赤 =AND(INDIRECT("R["&0&"]C["&0&"]",FALSE)>INDIRECT("R["&0&"]C["&1&"]",FALSE),INDIRECT("R["&0&"]C["&1&"]",FALSE)=0)
黄 =(INDIRECT("R["&0&"]C["&0&"]",FALSE)<INDIRECT("R["&0&"]C["&1&"]",FALSE)
で良いのでは?
アクティブセルが仮にA5の領域指定したセルに条件書式指定する場合
=AND(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1),OFFSET(A5,0,1,1,1)<>0) …緑
=AND(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1),OFFSET(A5,0,1,1,1)=0) …赤
=(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1)) …黄
でも単純に
=AND(A5>B5.B5<>0) …緑
=AND(A5>B5.B5=0) …赤
=A5<B5 …黄
と、他の方々が指定したこの方法の方がスマートですよ?
ところで範囲指定して条件書式を指定する場合ですが、
アクティブセルが何処にあるかを十二分に意識して式を書かないと
トンデモ!! な動作になり、心を折られそうになります。
お気を付けあそばせ。
お役に立てていたなら幸いです。
因みに条件書式では特例としてINDIRECT構文では
特別に他シートに書かれた領域も参照できたはず、お試しあれ。
他の描き方(A1的描き方やOFFSET構文など)では、
条件書式中の他シート参照は、確かエラーになりますよね?
ヘルプにも確か「他シートは参照できない」旨、書かれていたはず。
でも実は出来ちゃうんですよね
… 仕様変更されていなければですが …
ご返答ありがとうございました。
長々とお手数おかけしました。
お礼も遅れてすいません。
非常にいろいろと参考になりました。
今回はありがとうございました。
No.2
- 回答日時:
c2セルを選択して[条件付書式]で、入力画面が出てきますから、セルの値ではなく式を選択して、
=AND(A2>B2,B2=0)
を書く。
そして書式を指定したら、
条件を追加を繰り返しすだけですが??
No.1
- 回答日時:
例えばC3セルにて、
条件1) =AND(A2>B2,B2=0) 赤
条件2) =A2>B2 緑
条件3) =A2<=B2 黄
厳しいほうを先に書く。$A$2としなければコピーできる--書式のみコピー
この回答への補足
優先条件を先に記述して「条件を満たす場合は中止」のチェックボックススにもチェックしています。 AND条件の数式一つだけの設定でも、期待の動作しません。
数式指定条件に'AND'条件が指定できるか否か。
できるとしたら記述方法をご伝授頂けたらと思います。
今回は指定した書式のセルをVBプロシージャーでコピーしています。
設定した数式の対象セル記述を相対しても、コピー先では同じアドレスを参照していて、直接セルに数式を設定した時と
動作は異なります。
最悪はEXCELシートの書式設定ではなく、プログラムを記述して
書式をせってするしかないのか???
簡単にEXCELシートに設定した、「条件付書式」の設定で実現できるかが問題です。
引き続き、ご指摘お願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに 5 2023/04/08 20:00
- Excel(エクセル) Excel この式はどんな意味でしょうか。。。 4 2023/01/14 22:30
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) substitute関数についての質問です 3 2023/06/21 11:57
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- Excel(エクセル) 【!】Excel 2つの条件付き書式が反映されません。。 5 2023/07/14 16:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Officeを開くたびの「再起動メ...
-
一太郎でカーソルを次の行の先...
-
Microsoft365搭載Windows11PCへ...
-
英数字のみ全角から半角に変換
-
現在、PC2台でMicrosoft 365 Pe...
-
エクセルやワードを無料で使え...
-
マイクロソフト 一時使用コード...
-
Excel 日付を比較したら、同じ...
-
大学のレポート A4で1枚レポー...
-
マクロ自動コピペ 貼り付ける場...
-
パソコン買い換え Office移行 ...
-
Microsoftにofficeアプリについ...
-
Office2021を別のPCにインスト...
-
古いパソコンにoutlookを
-
Microsoft Formsの「個人情報や...
-
Office 2021 Professional Plus...
-
【Excel VBA】PDFを作成して,...
-
Excelの関数(FILTER関数)につ...
-
Outlook で宛先が複数の場合の人数
-
Excelで空白以外の値がある列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
「生産性ソフトウェア」とは何...
-
会社PCのメールが更新されない
-
【関数】○年○ヶ月と表示された...
-
WEBの記事を印刷する際にA...
-
エクセルでXLOOKUP関数...
-
Microsoft familyに追加されま...
-
会社のOutlookにてメールを予約...
-
Microsoft Formsの「個人情報や...
-
Microsoft365の一部を解約したい
-
マクロ自動コピペ 貼り付ける場...
-
Outlook で宛先が複数の場合の人数
-
outlookのメールが固まってしま...
-
【Excel VBA】PDFを作成して,...
-
大学のレポート A4で1枚レポー...
-
office365って抵抗感ないですか?
-
Microsoftにofficeアプリについ...
-
Excel テーブル内の空白行の削除
-
マイクロソフト 一時使用コード...
おすすめ情報