空白以外のデータを抽出したい

空白を含むデータがA列に入力されています。そこから、データだけを抽出して、別セルに取り出す方法を考えます。方法としては、1.関数と作業列を使う方法、2.配列を使う方法の2通りを考えます。

(サンプルファイは、こちら か2013 関数技 73 回サンプルデータ )
• 関数で空白以外のデータを抽出配列で空白以外のデータを抽出範囲から位置を指定して値を取り出す

INDEX関数は、範囲の中で、指定した行位置、列位置にあるセルの内容を返す関数です。この関数を使うと範囲とその範囲の行番号がわかれば値を取り出せます。結果を見てみましょう。
作業セルを使ってデータのある位置に番号を振る

これから、データ範囲の行番号をどうやって導くかを考えます。 大変そうな時は作業列を用意しましょう。 B列を作業列として使って、関数でA列にデータがある場合に番号をふるようにしましょう。

B2セルにIF関数を使って次の数式を入力します。

=IF(A2=””,””,MAX(B$1:B1)+1)

今まで何度も登場しているIF関数の書式は、

IF(論理式,真の場合,偽の場合)ですが、

サンプルでは、=IF(A2=””,””,”偽の場合”)のようにしています。

特に、偽の場合がポイントです。

そこに、B列に番号をふる数式の部分、MAX(B$1:B1)+1をネストしているからです。

数式を下までコピーすると、作業列としたB列に番号が振られます。この番号の左のセルにはデータが入っています。また、番号の最大値はデータの個数ということになります。