スプレッドシートで入力制限
スプレッドシートの特定のセルに入力制限を設けたいときは「データ」→「データの入力規則」を適用するのですが、デフォルトの規則にない独自のルールを設定する場合はどうすればよいでしょうか?
例えば日本においては特定の列で「ひらがなのみ」「カタカナのみ」を許すように設定したいことがありますが、これらの規則はスプレッドシートのデフォルトに組み込まれていません。
このような場合は「カスタム数式」と「正規表現マッチ」の組み合わせで対処します。以下に具体例を示します。
ひらがなのみ
以下の式をカスタム数式の右側に入力して下さい。
=REGEXMATCH(B2, "^[あ-ん]+$")
カタカナのみ
以下の式をカスタム数式の右側に入力して下さい。
=REGEXMATCH(B2, "^[ア-ン]+$")
半角英数字のみ
これも実はカスタム数式で設定する必要があります。以下の式を入力して下さい。数字だけの場合はテキストとして認識されず正規表現マッチが機能しません。そのため間にTO_TEXT
関数を噛ませています。
=REGEXMATCH(TO_TEXT(B2), "^[ -~]+$")