携帯電話番号と固定電話番号を区別する

f:id:accs2014:20190115114547p:plain:right:w600

 簡単な関数の利用例です。
 テーブルにある「電話番号」列の値をもとに、携帯電話(PHS含む)の番号と固定電話の番号を区別します。
 なお、電話番号はハイフン(-)込みのテキスト型で記録されているものとします。

f:id:accs2014:20190115114544p:plain:right:w650

 クエリデザインです。
 次のような列を設けます。

電話種別: IIf(IsNull([電話番号]),Null,IIf(Left([電話番号],3) In ("070","080","090"),"携帯","固定"))

 補足ですが、電話番号がNullからNullを返し、最初の3文字が「070」「080」「090」のいずれかだったら「携帯」を返し、それ以外の場合は「固定」を返します。


f:id:accs2014:20190115114541p:plain:right:w600

 データシートビューです。

 なお、近いうちに「060」で始まる携帯番号の利用が開始されるそうですので、それに備えて以下のようにしてもよいかと思います。

電話種別: IIf(IsNull([電話番号]),Null,IIf(Left([電話番号],3) In ("060","070","080","090"),"携帯","固定"))

 また、さらに細かい話をすると「0800」で始まる、携帯電話でない電話番号があるそうです(0120と同じくフリーダイヤルに用いるそうです)ので、そこまで気にする場合は

電話種別: IIf(IsNull([電話番号]),Null,IIf(Left([電話番号],4) In ("060-","070-","080-","090-"),"携帯","固定"))

としておけば間違いありません。