FILTER 関数の基本的なお話は こちら でご紹介しています。

下図の左端にあるテーブルには「対応履歴」という名前がついています。
[対応履歴] テーブルの [処理] 列が「未」のレコード (行) を抽出しているのですが、[金額] 列が空白のときに、「0」が表示されていることがわかります。 

「0」ではなく、結果のセルも空白にするための数式による処理について書きます。

FILTER 関数の第 1 引数、つまり配列 (範囲) を指定するときに、[対応履歴] テーブルのセルが空白だったら空白を返し、それ以外は [対応履歴] テーブルのセルに格納されている値を返すように IF 関数による分岐処理を組み合わせます。
つまり、FILTER 関数で利用するテーブルを先に処理しておく、ということです。

第 1 引数を IF 関数で分岐せずにテーブルを指定しているとき、テーブル名の部分を選択して [F9] キーを押して処理結果 (内容) を確認してみると、たしかに空白のところに「0」が含まれていることがわかります。
これが FILTER 関数の結果として表示されるのです。

IF 関数で分岐しているとき、第 1 引数 (IF 関数の数式) の部分を選択して [F9] キーを押して処理結果 (内容) を確認してみると、分岐前は「0」だったところに「""」が含まれていることがわかります。
この「""」 (空白) が含まれるテーブルを使って FILTER 関数による処理が行われるため、「0」ではなく空白が表示されます。


「0」であることと空白であることは意味が違ってしまいますし、数値列なら少し許容できたとしても文字列だったら「0」が表示されるのは不自然です。IF 関数と組み合わせた処理を覚えておくと良いと思います。

石田 かのこ