Article

配列内の空白セルを削除して左詰め・上詰めにする計算式【1:TEXTJOINとTEXTSPLIT】

この記事で分かること

配列内の空白セルを削除して左詰めや上詰めに整えるExcel計算式を、TEXTJOINとTEXTSPLITで整理します。

Excelで配列内の空白セルを削除して左詰め・上詰めにする計算式の構造【1:TEXTJOINとTEXTSPLIT】

Excelで配列内の空白セルを削除してデータを左詰めや上詰めにする方法について解説します。この方法を使用すると、データの整列が簡単に行えます。今回は、TEXTSPLIT関数TEXTJOIN関数を組み合わせて、空白セルを削除する計算式の構造を紹介します。

以下に、サンプルデータを示します。このサンプルデータを基にして、空白を削除して左詰めおよび上詰めにする計算式を説明します。

サンプルデータ【A1:F13】

724603875
755794531960
1672313476
25269714
4024348597
42390215011
8380081
252013601811
68641997
4248
397449692239
3494274833
954352687787

空白を削除して左詰めにする計算式

配列内の空白を削除して左詰めにするためには、TEXTJOIN関数で空白を除いた文字列を作成し、それをTEXTSPLIT関数で分割します。

=TEXTSPLIT(TEXTJOIN("区切り文字",TRUE,配列),"区切り文字")

区切り文字を「_」とすると以下の式になります。

=TEXTSPLIT(TEXTJOIN("_",TRUE,配列),"_")

具体例として、1行目のデータ(A1:F1)を左詰めにする計算式は以下の通りです。区切り文字は「_」として作式をします。

=TEXTSPLIT(TEXTJOIN("_", TRUE, A1:F1), "_")

この計算式をセルH1に入力し、13行目までオートフィルでコピーした図は下記のようになります。

上記の計算式の説明……

  • TEXTJOIN("_", TRUE, A1:F1): セル範囲A1:F1のデータをアンダースコアで結合し、空白セルを無視します。

  • TEXTSPLIT(TEXTJOIN("_", TRUE, A1:F1), "_"): 結合した文字列をアンダースコアで分割し、空白セルを除いた新しい配列を作成します。

空白を削除して上詰めにする計算式

次に、配列内の空白を削除して上詰めにする方法を説明します。縦方向に空白を削除して詰める場合は、TEXTSPLIT関数の第3引数に区切り文字を指定します。

=TEXTSPLIT(TEXTJOIN("区切り文字",TRUE,配列),,"区切り文字")

区切り文字を「_」とすると以下の式になります。

=TEXTSPLIT(TEXTJOIN("_",TRUE,配列),,"_")

具体例として、A列のデータを上詰めにする計算式は以下の通りです。

=TEXTSPLIT(TEXTJOIN("_", TRUE, A1:A13), , "_")

この計算式をセルA15に入力し、F列までオートフィルでコピーした図は下記のようになります。

上記の計算式の説明……

  • TEXTJOIN("_", TRUE, A1:A13): セル範囲A1:A13のデータをアンダースコアで結合し、空白セルを無視します。

  • TEXTSPLIT(TEXTJOIN("_", TRUE, A1:A13), , "_"): 結合した文字列をアンダースコアで分割し、空白セルを除いた新しい配列を縦方向に作成します。

次の記事:空白セルや0セルを削除して詰める計算式【2:FILTER関数】

同様のことはFILTER関数でも処理可能です。次の記事ではFILTER関数を用いた空白セルの詰め処理を解説します。

ExcelでFILTER関数を使って空白や0を除外する方法|左詰め・上詰めの式
Excelで 1 行や 1 列のデータから空白や 0 を除外して左詰め・上詰めにしたいときは、FILTER 関数が使えます。空白と 0 をまとめて除外する式、空白だけを除外する式、#CALC! を避ける第3引数の入れ方を整理します。

Next Read

このあと読む記事

今の内容に近い記事から、次の1本と補助記事を続けて見つけられるようにしています。

Keep Exploring

このテーマをさらに探す

同じテーマの入口記事と更新記事を、一覧の形でまとめています。

コメント