Excel - 別のセルにテキストとして入力された数式を使用する

Excel - 別のセルにテキストとして入力された数式を使用する

(私はもともとこれを Stack Overflow に投稿しましたが、こちらの方が適切なフォーラムだと言われました。)

私はしばらくこのことについて研究していますが、進展がありません。これはかなり簡単なはずだと思いますが、何かアドバイスがあれば教えてください。

さまざまなセル グループで多くの計算を実行するスプレッドシートで作業しています。データが A1:A10 にあるとします。

各数式にこの範囲を入力する代わりに:

=average(a1:a10) =min(a1:a10) =stdev.s(a1:a10) ...などなど...

この範囲をテキストとしてセル (たとえば T1) に入力し、さまざまな関数で参照するようにします。

=平均(T1に入力された範囲を使用して計算します) ...など...

INDIRECT 関数が答えになると思いましたが、うまく動作しませんでした。

私はこれをネイティブの Excel 関数 (VBA やマクロなどではなく) で実行したいと思っています。

ありがとう!

答え1

INDIRECT 関数はまさにあなたが求めているものです。セル T1 に「a1:a10」(引用符なし) を格納すると、次のコードを使用できます。

=Average(Indirect(T1))

A1:A10 の値の平均を取得します。

別のシートの範囲を参照する場合は、アドレスの一部としてシート名を指定する必要があります。したがって、OtherSheet というワークシートの A1:A10 を参照する場合は、セル T1 に "OtherSheet!A1:A10" を保存します。

ただし、これにより、(タイトルで尋ねられているように)数式全体ではなく、(質問で尋ねられているように)別のセルからセルまたは範囲のアドレスのみを取得できることに注意してください。

関連情報