2014.10.16
田中裕明
長さ0の文字列を求めます
AccessのテーブルのレコードをコピーしてExcelに貼り付けたとき、空白(ブランク)のセルのように見えても、実際はそうでないことがあります。
これは、コピー元のテーブルのフィールドがテキスト型であって、値が入力されていない場合で、Excelのセルには「長さ0の文字列」が入力された状態になります。
このようなセルを引数とすると、LEN関数の戻り値は0、ISTEXT関数の戻り値はTRUEとなります(文字通り「長さ0の文字列」)。
さらに言えば、ISBLANK関数の戻り値がFALSEになります。「長さ0の文字列」は、””のことで、Accessのデータをコピーせずとも、Excel内でも出現します。たとえば、=IF(A2=””,””,B2*C2)のような式の値コピーをしたとき。この式の戻り値が“”の場合は、「長さ0の文字列」が値となります。
探す方法として、条件付き書式があります。条件に、前述の関数を使えばよいです。つまり、=AND(LEN(セル番地)=0,ISTEXT(セル番地))とします。
なお、フィルターを設定したときには、長さ0の文字列のセルは、「空白セル」で抽出されます。