複数の列があり、それぞれの列の最後に SUM 行と MEAN 行があります。ここで、いくつかの行を無視したいので、=SUM(A1:A15)
行=SUM(A1:A13;A15)
14 を無視します。各数式に対してこれを行うのは面倒な作業です。
で前回の質問1 つの列に対してそれを実行する方法を見つけました。A1:A15
文字列を別のセルに配置し、 を使用して参照しますINDIRECT
。この方法では、1 つのセルを変更し、その列のすべての数式を更新できます。
問題は、複数の列があるため、このアプローチではB1:B15
各列のセルを更新する必要があることです。この更新プロセスを簡素化するにはどうすればよいですか?
答え1
使用できます関数OFFSET
範囲全体を特定の量だけシフトします。たとえば、="A1:A15"
セルにテキストがある場合、次の数式を使用してC1
範囲を取得できます。B1:B15
=OFFSET(INDIRECT(C1), 0, 1)
参考までに、この関数はExcelでは と定義されています=OFFSET(reference, rows, columns, [height], [width])
。元の範囲の幅/高さを再トレーニングするには、height
または引数を指定しないでください。また、および引数は正の値になるwidth
ことに注意してください。rows
columns
または負の値(上下と左右の両方にシフトできます)。
もう一つ注意点OFFSET
として、この関数は範囲全体したがって、前の例でテキストを入力した場合、 を使用して1 列右にシフトした="A1:A12,A15"
後に返される範囲は予想どおりになります。OFFSET
B2:B12,B15