ある問題に取り組んでいるとき、私は私を混乱させる何かに出くわし、いくつかの説明を望んでいました。
SUM()
関数を非常に丸い方法で使用しようとしています。
式
_=SUM(ADDRESS(ROW(blahblah), COLUMN(blahblah)) : ADDRESS(RoW(blahblah), COLUMN(blahblah)))
_
err:502をスローします
INDIRECT()
をADDRESS()
に適用すると、うまく機能します。
_=SUM(INDIRECT(ADDRESS(ROW(blahblah), COLUMN(blahblah)) : INDIRECT(ADDRESS(ROW(blahblah), COLUMN(blahblah)))
_
チェックアウトする値を返します。
私を混乱させるのは、ネストされた関数をADDRESS()
関数から引き離すときに使用すると、有効なセル参照(EX:_$B$4
_)が得られますが、SUM()
の内臓に追加された場合です。 SUM()
はエラーコードを吐き出します。では、INDIRECT()
にネストされたときにADDRESS()
を機能させるには、なぜ追加のSUM()
が必要になるのでしょうか。
何か考えはありますか?
ADDRESS()
関数はまさにそれを行います。セルの内容ではなく、セルへの参照を提供します。 INDIRECT()
関数はセル参照を取得し、セルの内容を提供するため、SUM()
関数は正しく機能します。