Excel: 指定された長さ (n) のベクトル {1;2;3;...;n} を返す配列数式

Excel: 指定された長さ (n) のベクトル {1;2;3;...;n} を返す配列数式

複雑な配列数式を作成しており、数式で使用される他の領域の行番号と同じ番号のベクトルを{1;2;3;...;n}表す領域への依存関係を取り除きたいと考えています。n

AF基本的に、テーブル列全体へのリンクを持ついくつかの(長くて複雑な)配列数式( )がありAB列 A へのリンクを削除したいと考えています。

テーブルの行数が変更される可能性がない場合、行へのリンクは(テーブルの行数が 4 の場合)Aに置き換えられます。ただし、行数は時間とともに変化します。{1;2;3;4}

+---+-----+--------------+
| A |  B  |      C       |
+---+-----+--------------+
| 1 | 105 | =AF([A],[B]) |
| 2 |  55 | =AF([A],[B]) |
| 3 |  80 | =AF([A],[B]) |
| 4 |  11 | =AF([A],[B]) |
+---+-----+--------------+

入力 = 行 B のみ (サイド テーブルを使用せずに) でこの数式を作成できますか?

どうもありがとう!

追記: 現在のバージョンの Excel ではこの機能はSEQUENCE利用できますが、私が所有している 2013 では利用できないため、ご協力をお願いいたします。

答え1

ああ、とても簡単だった…恥ずかしい。私は(間違って)ROWベクトルを返すことができないと想定していました。しかし、返すことができます。

式は次のようになります。

  • このソリューションは列 B (データ範囲) のみを参照します。
    {=ROW([B])-ROW(INDEX([B]),1))+1}

  • または、エレガントなモル(参照としてテーブル ヘッダーを使用):テーブルの名前は
    {=ROW([B])-ROW(TableName[#Headers])}
    どこにありますか。TableName

  • または、名前付き範囲やテーブルがない場合:行内のデータがある最後のセルは
    {=ROW($B$2:$B$#)-ROW($B$1)}
    どこにあるかA#B

  • または、非常に簡単な例(表はなく、データは から始まりますB1):
    {=ROW($B$1:$B$#)}
    A#は行内のデータがある最後のセルですB

追記: Excel の英語版を持っていないので、用語の翻訳が乱雑になっている可能性があります。遠慮なく訂正してください。

関連情報