• ベストアンサー

Excelの使い方に関してアドバイス下さい。

Excelの使い方に関してアドバイス下さい。 2003を使っております。 例えば、B50,B51,B52,....のセルに =B2,=B3,=B4,.... という数式が入っているとします。 この数式を、簡単に=C2,=C3,=C4,....や=D2,=D3,=D4,.... に返られるようにしたいと考えております。 そこで、例えばA1のセルにBを入力しておいて、 先ほどのセルを ="A1"2,="A1"3,="A1"4,.... に変更し、A1をCやDに変更するだけで他のセルにも反映されるようにしたいのですが、 こういったことって出来ますでしょうか?

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 B50セルに次の数式を入力した後、B50セルをコピーして、B51セルやB52セルに貼り付けると良いと思います。 =INDIRECT($A$1&ROW(B2))  因みに、G2,H2,I2,....のセルに =B2,=C2,=D2,.... という数式が入っていて、 A1のセルに入力する数字によって、 先ほどのセルを G2=B"A1",H2=C"A1",I2=D"A1",.... に変更する場合には、G2セルに次の数式を入力してから、G2セルをコピーして、H2セルやI2セルに貼り付けて下さい。 =INDIRECT("R"&$A$1"C"&COLUMN(B2),FALSE)  又、A1セルにB、B1セルに2、と入力されている時に、B50セルにB2セルの値が入り、その他のセルには、 B50=B2,C50=C2,D50=D2, B51=B3,C51=C3,D51=D3, B52=B4,C52=C4,D52=D4, という具合にセルの参照を行う場合には、B50セルに次の数式を入力した後、B50セルをコピーして、その他のセルに貼り付けて下さい。 =INDIRECT("R"&$B$1+ROWS(B$50:B50)-1&"C"&COLUMN(INDIRECT($A$1&"1"))+COLUMNS(B$50:B50)-1,FALSE)

その他の回答 (7)

  • popuplt
  • ベストアンサー率38% (31/81)
回答No.8

>簡単に=C2,=C3,=C4,....や=D2,=D3,=D4,....に返られるようにしたい 基本的に考え方を変えた方がいい思います。 ご希望は、[B2]を[C2]に書き換えたいという内容かと思いますが、目的は単に参照するセルを替えることと同じですので、配列を使って [B50]=INDEX(A2:C2,$A$1) A1の値は1~3に変化させます。これでお望みのようになると思います。 他にもOFFSET関数を使うのもありかな?

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.7

入力されている式のAやBなどの列番号の記号を別の記号に変えるのでしたら、変えたい場所のセル範囲を選択した後でCtlキーを押しながらHキーを押します。「検索と置換」の画面が表示されますので、例えば「検索する文字列」に B を半角英数で入力し、「置換後の文字列」に C を入力することで=B2の式を=C2の式に変えることができます。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.5

ちょっと間違えてました。 No.2の式では、B1,B2,B3セルの参照になってしまいます。 正しくはB2,B3,B4でしたね。 B50 =INDIRECT(A1&"2") B51 =INDIRECT(A1&"3") B52 =INDIRECT(A1&"4") ちょっと手を加えて B50 =INDIRECT($A$1&ROW()-48) でした。 この式では A1に「B」と入れれば B50 には「=B2」 B51 には「=B3」 B52 には「=B4」 と入れたのと同じ結果になります。 A1に「C」と入れれば B50 には「=C2」 B51 には「=C3」 B52 には「=C4」 と入れたのと同じ結果になります。 連番になっていますが、こういう意味ではないのでしょうか?

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

ANo1のmerlionXXです。 B50に式を入れて下にフィルドラッグして式の数字を2、3、4としたいということですか? ならば B50は =INDIRECT($A$1&ROW(A2)) にしてください。 ROW(A2)はA2セルの行の2の意味です。 下にコピーで引っ張ればA3、A4と変わりますので連番になります。

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

一例です。 B50に=OFFSET(INDIRECT($A$1&1),ROW(A1),)として下方向コピー A1や参照元セルの空白については考慮していませんので必要ならば、IF関数で対応して下さい。

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

とりあえず、ベタな回答ですが… B50 =INDIRECT(A1&"1") B51 =INDIRECT(A1&"2") B52 =INDIRECT(A1&"3") ちょっと手を加えて B50 =INDIRECT($A$1&ROW()-49) として、B51,B52にコピー(右下の■をドラッグ)してやっても同じ結果になります。 お試しを。

myumyu1234
質問者

お礼

ありがとうございます。 B50 =INDIRECT(A1&"1") の方だと右下の■をドラッグでコピーしても、A1のところだけが連番になり うまくいきませんよね? 教えて下さった、もう一つの B50 =INDIRECT($A$1&ROW()-49) をそのままセルにコピーして使ってみたのですが、 これでもうまく連番にならないのですが・・・ どうすれば良いのでしょうか?

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

できますよ。 =INDIRECT(A1&2) というふうにINDIRECT関数を使います。

関連するQ&A

専門家に質問してみよう