- ベストアンサー
Excel:セルへの入力規則
Excel2003です。 [データ]→[入力規則]→[設定]で入力値の種類を「ユーザー設定」にし、数式に「=LENB(E3)<=16」 さらに [データ]→[入力規則]→[日本語入力]でIME 日本語入力を半角カタカナに設定し、半角カタカナ という設定でE3セルを半角カタカナで16文字以内に制約させています。 しかし、この設定ですと確かに文字種は半角カタカナになりますが、文字種を変更することも出来てしまいます。 これを半角カタカナ以外は入力禁止にすることは出来ないのでしょうか?同時に半角カタカナ16文字以内、という制約付です。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
E3セルについて、 ・半角カタカナ以外の入力を禁止する ・16文字を超える入力を禁止する データ>入力規則>入力値の種類:ユーザー設定 数式について、 ●A案:コード番号で判定 =AND(LEN(E3)<=16,161<=MIN(INDEX(CODE(MID(E3,ROW(INDIRECT("$1:$"&LEN(E3))),1)),)),223>=MAX(INDEX(CODE(MID(E3,ROW(INDIRECT("$1:$"&LEN(E3))),1)),))) ※「数式はエラーと判断されます。続けますか?」 というメッセージが出てもそのまま「はい」で続行。 ※半角句点"。"のコードが161、半角半濁音記号"゜"のコードが223なので、 入力しようとする文字列の各文字についてコードをとり、 それらの最大値が223以下、最小値が161以上の場合のみ許可します。 ※当然ですが、半角英数字は禁止されます。 ※上記数式では、半角記号のうち、 ・句読点"。","、" ・鍵括弧"「","」" ・中黒"・" ・長音記号"ー" ・濁音記号"゛" ・半濁音記号"゜" のみ許可されます。 ●B案:許可する文字のリストを予め書き出しておいて判定 =AND(LEN(E3)<=16,SUMPRODUCT(--ISERROR(FIND(MID(E3,ROW(INDIRECT("$1:$"&LEN(E3))),1),"。「」、・ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゛゜")))=0) ※入力しようとする文字列の各文字について、許可リストにあるか否かを判定し、 すべての文字が許可リストあれば、許可 ※上記数式の文字列部分は、当然半角で入力してください。 (半角カナで投稿できないので全角にしています) A,BいずれもExcel2003で動作確認済
その他の回答 (3)
- korolo
- ベストアンサー率42% (39/92)
ANo.1、2です。度々失礼します。 入力規則だけでは無理がありそうなので、やり方を変えてみてはいかがでしょうか。 ●入力規則設定した入力セルと、それを規定に添って別(隣)のセルへ変換します。 (1)入力セルは、全角ひらがなのみ入力可能とする。 --方法は以下-- [データ]→[入力規則]→[設定]で入力値の種類を「ユーザー設定」にし、数式に「=IF(E3=ASC(E3),LEN(E3)<LENB(E3),LEN(E3)=LENB(E3))」 さらに [データ]→[入力規則]→[日本語入力]でIME 日本語入力を「ひらがな」に設定。 これで全角ひらがなのみ入力可能になります。 (2)別(隣)のセルで半角カタカナに変換、且17文字以降をカットする。 --方法は以下-- セルF3へ:=LEFT(ASC(PHONETIC(E3)),16) 以上ですが、ミスがあったらごめんなさい。
- korolo
- ベストアンサー率42% (39/92)
ANo.1です。 > [データ]→[入力規則]→[設定]で入力値の種類を「ユーザー設定」にし、数式に「=LENB(E3)<=16」 > さらに > [データ]→[入力規則]→[日本語入力]でIME 日本語入力を半角カタカナに設定し、半角カタカナ > という設定でE3セルを半角カタカナで16文字以内に制約させています。 ↑↑↑ この状態で > 文字種を変更することも出来てしまいます。 フォントを変更できてしまうという事ではないのですか? フォントを含め書式を変えられないようにする方法ですが??? 意味が違いましたか?
- korolo
- ベストアンサー率42% (39/92)
「書式」[セル][保護][ロック]のチェックを外す--[OK] 「ツール」[保護][シートの保護]--[OK] これで入力は出来るが、書式の変更が出来なくなります。
補足
これはシートが保護されている中で特定のセルへの入力を許可するだけの設定です。 そうではなく、特定のセルへの入力文字種を半角カタカナ以外許可させないようにする設定方法を尋ねているのです。 よろしくお願いします。
お礼
すばらしいです。ありがとうございました。