• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの他シート参照)

エクセルで他シートのセルを参照する方法

このQ&Aのポイント
  • エクセルで同じブック内の他シートのセルを参照する方法を説明します。
  • 式を使用して、Sheet2のA15にSheet1のL列の特定の行を参照することができます。
  • 値から数値を引いて参照する場合、数式の入力方法に注意が必要です。エラーが表示される場合は、数式を修正してください。

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

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

ごめんなさい式を間違いていました。 A15セルには次の式を入力します。 =IF(A17="","",INDIRECT("Sheet1!L"&A17-13850))

ken0114
質問者

お礼

ご回答ありがとうございます。 INDIRECT関数で関数では式で行を指定できるのですね。 大変勉強になりました。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

ご質問の用途ではINDIRECT関数,OFFSET関数,INDEX関数の3つが利用できますが,INDIRECTとOFFSETは「ブックを開いて何もせず閉じた」だけでも「保存しますか」と聞いてくる原因になるので,INDEX関数をお薦めします。 作成例: =IF(A17>13850,INDEX(Sheet1!L:L,A17-13850),"")

ken0114
質問者

お礼

ご回答ありがとうございます。 確かに、ダイアログが表示されました。置き換えてみたところ、ダイアログが表示されなくなりました。 とても便利です。 大変勉強になりました。

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

 Sheet1のL列の「A17-13850」行目のセルを参照したいという事ですね。  それでしたら、   =INDEX(Sheet1!$L:$L,A17-13850) で出来ます。  他にも、 =OFFSET(Sheet1!$L$1,A17-13849,) や =INDIRECT("Sheet1!L"&A17-13850) でも可能ですが、使勝手か良いのは、最初に挙げたINDEX関数を使った方法です。  尚、0以下の行番号というものはありませんから、このままではA17セルに13850以下の数値が入力されている場合や、文字列が入力されていた場合には、エラーとなってしまいますから、IF関数と組み合わせて、エラーが出ない様にした方が良いと思います。 =IF(ISNUMBER(1/(A17>13850)/(A17=INT(A17))),INDEX(Sheet1!$L:$L,A17-13850),"")

ken0114
質問者

お礼

ご回答ありがとうございます。 今回は、一つのセルに多くの式が入るので、IF関数を使用しませんでしたが、IF関数との組み合わせで、より安全に作業できることを知り大変勉強になりました。

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

シート2のA15に入力する式を次のようにします。 =IF(OR(A15="",A17=""),"",INDIRECT("Sheet1!L"&A17-13850))

関連するQ&A