| 
    
     |  | 初心者ですさん,ponpon さん こんにちは、 
 整理させていただきますと、
 あるセルに、
 =SUMIF(sheet1!$F$8:$F$100,集計!$B41,sheet1!$N$8:$N$100)
 と記入されていて、F8:F100または、N8:N100より前(A:A列とか)に列を挿入しても
 =SUMIF(sheet1!$G$8:$G$100,集計!$B41,sheet1!$O$8:$O$100)
 とならずに
 =SUMIF(sheet1!$F$8:$F$100,集計!$B41,sheet1!$N$8:$N$100)
 のままであってほしい。
 
 これは、VBAで列挿入しても、Excel上で挿入しても、ずれてしまうと思います。
 回避策としては、INDIRECT関数を使ってみてはどうでしょうか?
 
 挿入>名前>定義
 で、たとえば、
 名前
 範囲
 参照範囲
 =INDIRECT("sheet1!$F$8:$F$100")
 
 名前
 検索条件
 参照範囲
 =INDIRECT("集計!$B41")
 
 名前
 合計範囲
 参照範囲
 =INDIRECT("sheet1!$N$8:$N$100")
 
 と定義して、
 =SUMIF(参照範囲,検索条件,合計範囲)
 としてみてはどうですか?
 
 |  |