TEXTJOIN関数の参照セルの範囲を可変にするにはどうしたらいい
出典
https://answers.microsoft.com/ja-jp/msoffice/forum/all/textjoin%E9%96%A2%E6%95%B0%E3%81%AE%E5%8F%82/14285d3e-c6c1-4d12-bdd4-b3cc52081814
【質問】佐藤さん
TEXTJOIN関数の参照セルの範囲を可変にするにはどうしたらいいですか?
例えば
TEXTJOIN(",",TRUE,C3:C5) の構文は C3~C5の文字列をカンマ区切りで連結表示する、空白の場合は無視する。
ということですが、質問したいのは、ここのC5を変数にして指定セルの値で連結する範囲を可変にしたいのですが
どうしたらよいか教えてください。尚、ソフトはEXCEL2013です。
[回答】ひまじんさん
INDIRECT 関数や OFFSET 関数などを使ってみてはいかがでしょう。以下、その一例です。
いずれの場合も、A1 セルの値を参照してセル範囲(行数)を可変させることを想定しています。
■INDIRECT 関数を使う場合。
=TEXTJOIN(",",TRUE,INDIRECT("C3:C"&A1))
この場合、A1 セルの値そのものを行番号として扱います。
例えば、A1=5 の場合、C3:C5 のセル範囲の値を参照します。
■OFFSET 関数を使う場合。
=TEXTJOIN(",",TRUE,OFFSET(C3,0,0,A1,1))
または、
=TEXTJOIN(",",TRUE,OFFSET(C3,,,A1,))
この場合、A1 セルの値を C3 セルを含めた行番号の加算値(3+A1の値-1)として扱います。
例えば、A1=5 の場合、C3:C7 のセル範囲の値を参照します。
尚、どちらの関数を使う場合も少し工夫すると、参照するセル範囲全体を可変にすることもできます。