プロが教える店舗&オフィスのセキュリティ対策術

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

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

A 回答 (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(… 一度自力でやってみましょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/04/25 07:18

ああ、ちょっと失敗



 INDIRECT("sheet1!"&B1)

ダブルクォーテーション(”)で囲うことで文字列になります。
質問文ではダブルクォーテーションで囲われていないので、無効な値になっています。
※ INDIRECT関数は文字列を範囲として返す関数です
    • good
    • 0

んとですね、INDIRECT関数の引数がどのようになっているのかを考えてください。



そこ、意図しているものと違う値になっていますよ?
 INDIRECT("sheet1"!&B1)
これが正解です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!