- ベストアンサー
Excel2003で半角のみ入力制限をかける方法は?
- Excel2003でセルの表示形式を文字列のまま、半角のみ入力制限をyyyy/mm/dd hh:mm:ssでかけたいです。全角の空白や時間の『:』を全角『:』で入力することも受け付けたくありません。
- 数式ではエラーが発生するため、CSV変換後も問題なくインポートするためには、入力規則を使用する必要があります。しかし、入力規則では全角半角の区別ができません。
- 解決策としては、19文字の入力規則を設定し、日本語入力オフにすることです。ただし、全角の空白や時間の『:』の入力は受け付けないようにするため、別の方法を検討する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1に入力規則を付ける場合、入力規則を以下のようにします。 ・空白を無視する するしないどちらでも可 ・入力値の種類 ユーザー定義 ・データ グレーアウトしている筈なのでそのまま ・数式 =AND(LEN(A1)=19,MID(A1,5,1)="/",MID(A1,8,1)="/",MID(A1,11,1)=" ",MID(A1,14,1)=":",MID(A1,17,1)=":",TEXT(DATEVALUE(A1),"yyyy/mm/dd")=LEFT(A1,10),TEXT(TIMEVALUE(A1),"hh:mm:ss")=RIGHT(A1,8)) 「数式」で指定した式が「TRUE」にならない場合、入力規則に反する、と判断されます。 数式の意味は、A1セルの長さが19文字で、5、8文字目が半角の「/」で、11文字目が半角スペースで、14、17文字目が半角の「:」で、前10文字が日付として認識できて、後ろ8文字が時刻として認識できればTRUE、です。 日付、時刻として認識できるかどうかの判定では、時間部分が「25:30:00」とか「01:70:10」とか、時分秒が範囲内に無い場合もチェックしています。 EXCELは「25:30:00」を「1日と01:30:00」と判断したり、「01:70:10」を「02:10:10と同じ」と判断するので、それを入力規則エラーにするため、このような式になっています。
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8800/19959)
追記。 この入力規則を使用する場合、事前にセルの表示書式を「文字列」にしておかなければなりませんので、ご注意を。 セルの表示書式が「日付」や「標準」だと、入力した値が「日付時刻のシリアル値」になってしまい、入力規則に反する、と判断されてしまい、入力エラーになります。 てゆか、質問文に >セルの表示形式は文字列のまま って書いてあるので、問題は無いですよね(^^;
- keithin
- ベストアンサー率66% (5278/7941)
とりあえずお勧めの手口としては、セルの書式設定で「文字列」はやめて「ユーザー定義」で yyyy/mm/dd hh:mm:ss を設定しておきます。 ゼロの補填、半角化もエクセルが間違いなくやってくれますし、こうして入力しCSVで保存すれば、このフォーマットを維持して保存されます。保存したCSVをメモ帳で開いて確認してみるとよいでしょう。 もし必要と思うなら、更に入力規則で「数値で入力されている」ことを確認させてもよいかもしれませんね。ISNUMBER関数などで検査できます。