2023年6月4日日曜日

空白、あるいはNULL文字列を含む表のソート対策

 表の中でIf関数で戻り値が「FALSE」になる条件のときに「""」を返すよう設定していると、その表をソートしたときに一番上に来てしまう問題があるようです。

これ、既知の問題…というか仕様のようなので、これをうまく制御できないかと調べたらNA関数というのに行き着きました。

NA 関数 - Microsoft サポート

つまりエラー値を返す関数で、これに対応する「ISNA関数」というのもあります。ISERROR関数ではなくピンポイントなこの関数があるってことは、冒頭の問題を回避するための仕様なんだろうなと思います。

実際には以下の手順です。

  1. セルのIF関数の「""」を返していたところに「NA()」を入れ「#N/A」を返すようにする
  2. セルではなく条件付き書式に=ISNA([セル番地])と入れることで、セルの値が「#N/A」になったときに白フォントにする
これで疑似的に非表示にすることができるわけです。そんなことしてなんの意味があるのか、みたいに訝しがる向きもあるでしょうが、人力でデータ入力していく表の場合(※しかもテーブルですらないことが結構ある)非表示にしておくだけで作業しやすくなるって経験、おありでしょう?そういうことです。

覚えておいて損はないですよ。