【Excel】エクセルで関数結果の空白のセルを除き行間(列間)を詰める方法をご紹介!【CSE数式】

ソフトウェア

Excelで行間(列間)を詰める方法【CSE数式】


 

 

どうも、ライターの雪丸です。

今回はExcelで「関数の結果」「行間(列間)を詰める」方法をご紹介します!

 

ちょっとややこしいですよね……..

 

まぁつまりは下のような状況のとき、

関数でA列の行間を詰めて表示したいときありますよね?

 

 

この方法をご紹介します!

聞き慣れない「CSE数式」についても説明します!

 

 

 

 

1. CSE数式とは?

 

まず、CSE数式について軽く説明します。

と言っても特に難しくはありません。

 

Ctrl と Shift と Enter を同時に押すのがCSE数式です!

 

これはExcelに備わる機能で

Ctrl と Shift と Enter を同時に押すことで

関数を「配列数式」にすることができるようになっています。

 

 

まぁ深く考える必要はありません。

 

 

3つのキーを押すと特殊な関数状態になるんだな~

くらいに思っておいてください。

 

 

 

2. 関数を入力する

 

さて、難しい話は置いておいて

入力する関数の説明をします。

 

まず下のように、A列に情報があって

B列に空白のセルを詰めて表示したい場合です。

 

B2のセルに以下の関数を入力してCtrl+Shift+Enter(CSE関数)を押してください。

=IFERROR(INDEX(A:A,SMALL(IF(A:A<>””,ROW(A:A)),ROW(A2))),””)

 

すると「A」だけが表示されますが、

これをオートフィルで下まで引っ張っていきます。

 

すると空白が詰められます!

 

A列が関数であっても大丈夫です。

なんて素晴らしい!!!

 

 

 

 

3. 関数の説明

 

関数を細かく説明します。

 

=
IFERROR(
INDEX(A:A,
SMALL(IF(A:A<>””,
ROW(A:A)),
ROW(A2))),
“”)

 

まず、一番外側の「IFERROR関数」

エラーが起きた際に「””」を表示します。(何も表示しない)

 

これは行間を詰めるのとは直接関係ありません。

 

 

 

=
IFERROR(
INDEX(A:A,
SMALL(IF(A:A<>””,
ROW(A:A)),
ROW(A2))),
“”)

次に中身ですが、

SMALL関数で空白で無いセルを

INDEX関数で表示させています。

 

 

4. 関数の使い方

 

=
IFERROR(
INDEX(検索範囲,
SMALL(IF(検索範囲<>””,
ROW(検索範囲)),
ROW(開始セル))),
“”)

 

・検索範囲にはA:Aのように詰める対象の範囲を指定

・開始セルには対象の開始する一番上のセル番号

 

というように使うことで

どんなデータでも行間を詰めることができます!

 

 

 

5. まとめ

 

今回は関数で空いた行間を関数で詰める方法をご紹介しました。

 

・関数を入力

・CSE数式にする

・オートフィルで引っ張る

 

 

これを覚えておけばデータ整理も楽になるかも知れませんね。

ぜひ活用してください!

 

 

以上、空白を覗いて行間(列間)を詰める方法の紹介でした。