アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで仕事の負荷表を作成しました。
https://excel-meister.com/archives/212 を参考にして、
実際の表(シート1)と、案件・各工程の日付開始日~終了日までを書く入力用(シート2)を分けて、シート2の値を参照してシート1の表を塗りつぶすということをしています。

先日INDIRECT関数の使い方を理解して、シート2から終わった案件を行ごと削除することができるようになった(シート1でREFを返されなくなった)のですが、塗りつぶす場所がずれてしまいます。

表の塗りつぶしに使っている数式は =AND(C$3>=入力用シート!$E3,C$3<=入力用シート!$F3) です(C$3は4/1~2024/3/31までの日程、入力用シート!$E3は案件の開始日で$F3は終了日です)。
これもINDIRECT関数のようなものを用いて、ずれないようにすることはできるでしょうか。
分かりづらい質問で申し訳ありませんが、どなたかお力添えください。

「Excelで行削除をすると…」の質問画像

A 回答 (1件)

こんにちは



質問者様が、実際にどのような仕組みでどのようなものを作成なさっているのか不明なので、想像になってしまうため具体的な回答はできませんけれど・・・

>先日INDIRECT関数の使い方を理解して、シート2から
>終わった案件を行ごと削除することができるようになった~
添付の図は「シート1」と称しているものだと推測しますけれど、被参照セルを削除すると参照セルがなくなるため「#REF!」のエラーになるのを避けて、詰めて表示するためにINDIRECT関数を使用しているのではないかと想像しました。

これに対して、ご提示の(条件付き書式?)式は、参照する行を固定しているため、同じ行を参照していない事になっているのではないかと想像します。
多分、条件付き書式を利用しているのだろうと想像しますけれど、ルールの設定方法によっても変わってくる可能性があります。
セル範囲に一般化したルールをまとめて適用していれば、ずれは発生しないかも知れません。
(個別にルールを設定している場合には、参照セルが固定されますので・・)
勝手な想像では、こちらの式も同様にINDIRECT関数を用いて同じ行を参照するような式にしておけば、ご希望のような結果を得られるのではないかと思います。


なお、ご質問には関係がありませんが、INDIRECT関数は揮発性関数ですので、再計算が頻繁に発生する可能性があります。
ブックの使い方にもよりますが、大量に使用していると計算負荷の増加につながる場合があります。
https://learn.microsoft.com/ja-jp/office/client- …
これに対して、
 INDEX(対象のセル範囲,ROW())
のような式で代用しておけば、非揮発性関数だけで処理することが可能になりますので、ご参考までに。
(行を削除した場合には、いずれにしろ再計算にはなりますが・・)
あるいは、シート1、シート2に共通する見出し項目(=案件名とか作業名等)があると想像しますので、この値をキーにして再検索するような仕組み(VLOOKUP、MATCHなど)にしておくことでも、揮発性関数を避けることが可能ではないかと想像します。
    • good
    • 1

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