• ベストアンサー

エクセルでのセルの参照

sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

INDIRECTの使用例を以下に示しますので、適当にアレンジしてください。 >4と入力したら とりあえずSheet2のA1に↑の数字を入力するとして Sheet2のA2に  =INDIRECT("Sheet1!A" & A1) で、Sheet1のA列の指定行の値が参照されます。(B、C、D・・も同様) 行を変えたければ、A1+1 などとしてあげればよろしいかと。

suraima
質問者

お礼

ご回答ありがとうございます。 式の内容が短く済んでいるのが関数に慣れていない 私にとって非常にありがたいです。 試してみたところ、この式でうまくいきそうなので 少しずつアレンジして使ってみようと思います。 ありがとうございました。

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

INDEX関数も使えます。 仮にSheet2のA1に 4と入れた場合 =INDEX(Sheet1!A:A,$A1,1) 右へコピィします。 >4と入力したときにA5、B5、C5、D5を参照するというように =INDEX(Sheet1!A:A,$A1+1,1) 右へコピィします。

suraima
質問者

お礼

ご回答ありがとうございます。 一つの目標に対していろいろな方法があるんですね。 INDEX関数でもいけるとは・・・ 使い方を勉強する上で、いろいろ教えていただけるのは 大変ありがたいです。 ありがとうございました。

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

次の方法は如何でしょうか。 Sheet2のあるセルをA1としています。 (1)右方向に参照    =OFFSET(Sheet1!$A$1,$A$1-1,COLUMN(A1)-1) (2)下方向に参照    =OFFSET(Sheet1!$A$1,$A$1-1,ROW(A1)-1) OFFSET(基準セル,行数,列数[,高さ,幅])関数は、行数・列数は0相対値です。 よって、入力値が4で行番号5にする場合、数式の$A$1-1を$A$1になります。

suraima
質問者

お礼

ご回答ありがとうございます。 これを読んでOFFSET関数は使ったことなかったので 今現在、使い方を覚えようとしています。 右方向参照や下方向参照は今後も使用したいと考えていますので 大変参考になります。 ありがとうございます。

関連するQ&A

専門家に質問してみよう