• ベストアンサー

エクセルの他シートのセルの値をセル範囲で指定

エクセルの他シートのセルの値をセル範囲で指定 お願いします。 sheet1のA1からA3まで1,2,3と入力されていてセルB1にA1:A3と入力されています。 sheet2のA1にsum(sheet1!A1:A3)と入れると6になるのですけれど、 A2にSUM(INDIRECT(sheet1!(B1))と入れると0になってしまいます。 これをどのように解決したらいいですか? よろしくお願いします。

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

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

>sum(sheet1!A1:A3)と入れると6 sum(  「sheet1!A1:A3」  )となる,「」の部分を全部文字列形式にしてINDIRECTに食べさせます。 練習1: =SUM(INDIRECT("Sheet1!A1:A3")) 練習2: シート2のB1セルに Sheet1!A1:A3 と入れておいて =SUM(INDIRECT(B1)) 練数3: シート2のB1セルに A1:A3 と入れておいて =SUM(INDIRECT("Sheet1!"&B1)) 練習4: シート「1」のB1セルに A1:A3 と入れておいて, シート「2」のD1セルに ="Sheet1!"&Sheet1!B1 本番: シート「1」のB1セルに A1:A3 と入れておいて シート「2」に =SUM(INDIRECT(… 一度自力でやってみましょう。

tahenryou
質問者

お礼

練習4の方法で無事に解決できました。 エクセル、奥が深いです。 ありがとうございました。

その他の回答 (2)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

ああ、ちょっと失敗  INDIRECT("sheet1!"&B1) ダブルクォーテーション(”)で囲うことで文字列になります。 質問文ではダブルクォーテーションで囲われていないので、無効な値になっています。 ※ INDIRECT関数は文字列を範囲として返す関数です

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

んとですね、INDIRECT関数の引数がどのようになっているのかを考えてください。 そこ、意図しているものと違う値になっていますよ?  INDIRECT("sheet1"!&B1) これが正解です。

関連するQ&A

専門家に質問してみよう