• ベストアンサー

Excelで列(行)挿入で計算式を保持する方法

あるセルを参照する際に、セル番号の指定ではなく、 「一つ上のセル」「1つ左のセル」 といった指定がしたいです。(R1C1方式、という意味ではなく) 行のコピー、挿入の影響を受けないようにするのにいい方法はありますか? 例えば・・・ B3のセルに"1"を入力して、 C3~E3のセルにそれぞれ "=B3+1", "=C3+1", "=D3+1" と計算式を入力すると、 B3~E3がそれぞれ "1", "2", "3", "4" となります。 この状態で、"3"の値が表示されているDの列を列ごとコピーして そのままC列とD列の間にコピーした行を挿入します。 すると、B3~F3がそれぞれ "1", "2", "2", "3", "4" となります。 この時点でC3~F3の各セルの計算式は "=B3+1", "=B3+1", "=C3+1", "=E3+1" となっています。 そうではなく、この例の場合こういったオペレーションを行った後にも 「左隣のセルに1を追加」という状態を保持したいです。 この現象をうまく回避できる方法や関数はありますでしょうか? ちなみに、上記のように1列だけコピーして挿入、という操作が前提です。 D,Eの列をコピーして、E,Fの列に貼り付けるとこの現象は回避できますが、 そうではなく、あくまで1列だけコピー&挿入という操作での解決策を探ってます。 説明がわかりにくいかもしれません。すみません。 補足が必要であれば言って下さい。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • daidai024
  • ベストアンサー率44% (23/52)
回答No.1

OFFSET関数はどうですか? B3  1 C3 =OFFSET(C3,0,-1,1,1)+1 D3 =OFFSET(D3,0,-1,1,1)+1 E3 =OFFSET(E3,0,-1,1,1)+1 OFFSET関数の最初の引数にそのセル位置を入れるのが コツです。 こうすると常に左隣のセルを参照することになり、そ の値に1加えた数値になります。

harahachi
質問者

お礼

ありがとうございます。完璧です。 まさしくこんな関数を探してました。 まだまだ勉強不足でした。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法は如何でしょうか。 C3セルに=$B$3+COLUMN()-2を入力し、右方向にコピー

harahachi
質問者

お礼

なるほど、面白いですね。 こういった方法もあるんですね。 ただし、ちょっと残念なことに起点が変わると式の内容も変えなきゃいけないというデメリットがありますね。 でも、勉強になりました。ありがとうございます。

noname#204879
noname#204879
回答No.2

セル C3 に式 =OFFSET(C3,0,-1)+1 を入力して、此れを右方にズズーッと複写

harahachi
質問者

お礼

ありがとうございます。 OFFSET関数初めて知りました。 勉強になりました。

関連するQ&A