
配列数式を使用する、特に他のデータ列を参照する列がいくつかあるスプレッドシートがあります。最初は A$1:A$100 構文 (スプレッドシートの最後のデータ行が 100 の場合) を使用しましたが、このような列がいくつかあるため、データ行を追加するとかなり時間がかかることがわかりました。列 A:A 構文も使用しましたが、データ列全体を参照するため、面倒なようです (つまり、計算に時間がかかります)。
これは、新しいデータ行を追加するたびに数式を変更する必要がないようにするための最もクリーンなアプローチですか?
答え1
これは議論の余地のある話題だとは思いますが、いくつか提案したいと思います。
1 つ目は、データをテーブルに変更し (範囲を選択して)、その範囲をまたは任意の名前insert>table
で参照できるようにすることです。Table1[tax]
もう一つの解決策は、動的な名前付き範囲を使用することです。ただし、これを多用すると、シートの速度が低下する可能性があります。
名前付き範囲は次のように定義できます。
mytable
=OFFSET($A$1,0,0,COUNT($A:$A),3)
これは、列Aに含まれるセルの数と同じ行数と3列幅の表を作成します。これを定義する他の方法については、オズグリッド
次に、 を使用して 2 番目の列を参照できます=INDEX(mytable,0,2)
。テーブル全体に対して単一の名前付き範囲を使用すると、評価する必要がある動的な名前の数が減り、処理が速くなります。
全体的には、最初の方法がおそらく最もクリーンな方法であり、行が追加されるにつれて Excel テーブルが拡張されます。