2023年10月20日【ID:0】
【Excel】FILTER関数で空白を空白のまま抽出する
FILTER関数を用いて値を抽出した際に、以下のように空白が存在する場合、空白が0になってしまいます。
=FILTER(B3:E12,D3:D12="男")
// 黄色のセルに数式を入力

こちらの空白を0にしない方法について解説していきます。
空白を0にしない方法
FILTER関数は、指定した範囲から条件を満たしている行(列)を抽出する関数になります。
その指定した範囲に空白がある場合は、範囲を指定した時点で0に置き換わってしまいます。
=B3:E12

この時点で空白が0になって抽出されているため、条件で絞った表に関しても空白が0になってしまいます。
対策として、この時点で空白を空白にすることで、抽出結果の空白を空白のままにすることができます。
その場合は、以下のようなIF文で実現することができます。
=IF(B3:E12="","",B3:E12)
// 対象の範囲で空白の要素は、空白を返す
// 空白以外は、そのままの値を返す

このIF文の内容をFILTER関数の範囲に指定することで、空白を空白のままにすることができます。
=FILTER(IF(B3:E12="","",B3:E12),D3:D12="男")
