A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
>参照するシート名が変わるので、条件付き書式で対処しようとしたのですが、
>どのように条件づければよいか分からなくなりました。
シート名を取得できれば、質問者様ご自身であとの設定はできるものと想像しました。
シート名をどのように付けているのか不明ですが、なんらかの規則性があるものと推測します。
例えば「2023年05月」とか「2023.05」あるいは「5月」とか・・
No1様の回答にあるTODAY()関数を利用して「前月」のシート名を生成するのが簡単ですが、TODAY()関数を使うと、同じシートであっても、翌月になると参照するシートが変わってしまい、おかしなことになりかねません。
恒久的に設定するには、自分のシート名から前月のシート名を作成して、それを元にINDIRECT関数で「前月の同じセル」と比較するようにする必要があります。
ちなみに、自シート名を取得するだけなら
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99)
などで取得することができます。
後は文字列操作で「前月のシート名」を算出すれば可能でしょう。
もしも、自シートのどこかにその月の日付を示すセルが存在するのなら、シート名を参照するよりも、そちらから算出する方が簡単だと思います。
一方で、INDIRECT関数は揮発性関数ですので、再計算が頻発することになるため、大量に使用した場合はPCの性能によっては反応が遅くなる可能性があります。
設定するセル範囲やPCの性能に依存しますので、ほとんど気にならない場合も多いとは思いますけれど。
これを避けたい場合は、「マクロを利用して条件付き書式を設定する」方法が考えられます。
条件付き書式に設定する内容は
=前月のシート!A1>A1
のような簡単な内容ですが、非揮発性関数として設定できるので、対象セルが変化した場合のみ再計算がされることになります。
「前月のシート名」さえ計算できれば比較的簡単なマクロですむ内容ですが、質問者様がマクロを使える(作成できる)ことが必要になります。
とはいうものの・・・
各月同じ形式のシートだと想像しますので、手作業でシートをコピーし、条件付き書式の編集でシート名を編集すれば済む話なので、1年分をまとめて作成しても、数分もかからない作業ではないかと思いますけれど・・
(実は、この方法が一番のお勧めです)
No.1
- 回答日時:
条件付き書式を使って、前月のシートと今月のシートで同じセルを比較し、前月よりも少ない数値を赤で表示する方法は以下の通りです。
条件付き書式を設定したいセル範囲を選択します。
「条件付き書式」を選択し、「新しいルール」を選択します。
「ルールの管理」ダイアログボックスが表示されたら、「使用する式を選択する」を選択し、以下の式を入力します。
=INDIRECT("'"&TEXT(TODAY(),"yyyy年mm月")&"'!"&ADDRESS(ROW(),COLUMN()))<INDIRECT("'"&TEXT(DATE(YEAR(TODAY()),MONTH(TODAY())-1,1),"yyyy年mm月")&"'!"&ADDRESS(ROW(),COLUMN()))
※ 上記式中の「yyyy年mm月」は、対象のシート名に合わせて変更してください。
「書式」をクリックし、フォントの色を赤に設定します。
「OK」をクリックして、条件付き書式を設定します。
この方法で、今月のシートと前月のシートを比較し、前月よりも少ない数値が赤で表示されます。来月には、今月のシートをコピーした後、式の中の「MONTH(TODAY())-1」の部分を「MONTH(TODAY())-2」に変更することで、同じように前月と比較して赤で表示することができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) googleスプレットシートで左右の数値を比較して色判別させたい 2 2022/06/06 18:33
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) 棚卸表の前月比の関数等あれば教えてください 2 2023/05/02 18:34
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- Excel(エクセル) エクセルでセルの文字列から年月を抜き出して今日の日付と比較したい 15 2022/07/29 14:39
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
エクセルで複数のシートに画像...
-
【Excel VBA】データ貼り付け先...
-
Excel 全シート上のボタンを削...
-
EXCELの図形(テキストボックス)...
-
Accessのテーブルを既存のExcel...
-
【ExcelVBA】マクロの入ったシ...
-
ワークシートそのものの色を変...
-
アクセスからエクセルのシート...
-
エクセルのシー名を二段表示に...
-
特定の複数のシートに同じ処理...
-
EXCELの「シートの見出し」のフ...
-
エクセルのシート連番の振り直し
-
エクセルの2つのシートを並び...
-
エクセルでリンク貼り付けした...
-
Wordで差し込み印刷時に表示す...
-
エクセル2003で、複数のシート...
-
エクセルで開くページを指定したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルで複数のシートに画像...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
【ExcelVBA】マクロの入ったシ...
-
ワークシートそのものの色を変...
-
エクセルの2つのシートを並び...
-
EXCELの図形(テキストボックス)...
-
ハイパーリンクでジャンプした...
-
Wordで差し込み印刷時に表示す...
-
エクセルで、シートの名前を変...
-
エクセル、特定のシートにパス...
-
エクセルのシー名を二段表示に...
-
Accessのテーブルを既存のExcel...
-
確定申告用の医療費集計フォー...
-
エクセルのシート連番の振り直し
-
【Excel】エクセルの1ファイル...
-
エクセルの複数シートでのリン...
-
【Excel VBA】データ貼り付け先...
-
エクセルでリンク貼り付けした...
おすすめ情報