スプレッドシート:カスタム数式でデータの入力規則設定

スプレッドシートの「データの入力規則」ですが、
・アルファベットのみの入力
・数字のみの入力
選択することができません。
どうやら、「カスタム数式」で設定する必要があるようです。

カスタム設定方法

  1. セルを選択
  2. メニューの「データ」-「データの入力規則」選択
  3. 「データの入力規則」

  「カスタム数式」を選択、横の入力欄に式を入れる。
  ※「無効なデータの場合」で、「入力を拒否」を選択すると、データの入力規則に合致しないデータが入力できなくなります。

カスタム数式に設定する関数

 以下の関数を利用すると、アルファベットのみ数字のみの入力速の設定が可能です。
 REGEXMATCH - Docs Editors Help
  正規表現に一致するテキストの一部を検索します。

使用する正規表現

記号 意味
^ 行の先頭
$ 行の末尾
[ ] [ ]内の1文字
+ 直前の文字(最低1文字)の繰り返し
{ n} 直前の文字をn回繰り返し

 ※サルにもわかる正規表現入門
  正規表現一覧

カスタム数式の設定方法

記述内容(先頭の=必須) 入力内容
=REGEXMATCH(A1, "^[あ-ん]+$") ひらがな
=EGEXMATCH(A1, "^[ア-ン]+$") かたかな
=REGEXMATCH(TO_TEXT(A1), "^[0-9]+$") 整数
=REGEXMATCH(TO_TEXT(A1), "^[0-9.]+$") 小数
=REGEXMATCH(TO_TEXT(A1), "^[a-z.]+$") アルファベット
=REGEXMATCH(TO_TEXT(A1), "^[0-9/]+$") 日付(例:2019/2/2)
=REGEXMATCH(TO_TEXT(A1), "^[0-9:]+$") 時間(例:12:00)

おまけ

記述内容(先頭の=必須) 入力内容
=len(A1)<4 4文字以下
=AND(REGEXMATCH(TO_TEXT(A1), "^[0-9]+$"),len(A1)<4) 4文字以下の整数
=REGEXMATCH(TO_TEXT(A1), "^[0-9]{3}$") 3文字の整数

所感

とっつきにくいですが、パターン化すれば細かい制御が実装できます。