- ベストアンサー
エクセルの他シートのセルの値をセル範囲で指定
エクセルの他シートのセルの値をセル範囲で指定 お願いします。 sheet1のA1からA3まで1,2,3と入力されていてセルB1にA1:A3と入力されています。 sheet2のA1にsum(sheet1!A1:A3)と入れると6になるのですけれど、 A2にSUM(INDIRECT(sheet1!(B1))と入れると0になってしまいます。 これをどのように解決したらいいですか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>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(… 一度自力でやってみましょう。
その他の回答 (2)
- Cupper
- ベストアンサー率32% (2123/6444)
ああ、ちょっと失敗 INDIRECT("sheet1!"&B1) ダブルクォーテーション(”)で囲うことで文字列になります。 質問文ではダブルクォーテーションで囲われていないので、無効な値になっています。 ※ INDIRECT関数は文字列を範囲として返す関数です
- Cupper
- ベストアンサー率32% (2123/6444)
んとですね、INDIRECT関数の引数がどのようになっているのかを考えてください。 そこ、意図しているものと違う値になっていますよ? INDIRECT("sheet1"!&B1) これが正解です。
お礼
練習4の方法で無事に解決できました。 エクセル、奥が深いです。 ありがとうございました。