アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで基本フォーマットを作り、他の人に配布&入力してもらった後、全てを集計&データベース化する必要があるのですが。

各列に設けた項目により、‘全角英数のみ’‘全角カナのみ’‘半角カナのみ’の入力規則を設けた後、ロックをかけてみたのですが、変換できてしまう…?
全角英数&カナに関しては【=LEN()*2=LENB()】で逃げれたように思うのですが、‘半角カナのみ’の入力設定がわかりません…;;

ちなみに、別の列に入力したものを数式で半角に変換する方法は、今回のフォーマットには使いたくないのですが…??

どなたか、お助けください…**

A 回答 (2件)

入力規則の[日本語入力]タブの設定は、


あくまでIMEを自動的に切り替えるだけのものですから、
残念ながら、指定した種類の文字以外の入力を禁止することはできません。

また、「全角英数のみ」「全角カナのみ」「半角カナのみ」を
簡単に判定する方法も、おそらくないと思います。

以下、かなり無理矢理ですが、
データ>入力規則>設定タブ>ユーザー設定>数式で…
--------------------------------------------------------------------
●A案:コード番号で指定する

例えば「半角カナのみ」の場合
(小書き文字,鍵括弧や長音記号など一部の記号を含む)

 =AND(161<=MIN(INDEX(CODE(MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)),)),MAX(INDEX(CODE(MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)),))<=223)
 【入力しようとした文字列のすべての文字のコード番号が、161以上223以下であれば許可】

コード番号は、CODE関数で調べることができます。
「半角カナ」161~223
「全角英数」9008~9082
「全角カナ」9505~9590

※「数式はエラーと判断されます。続けますか?」
 というメッセージが出てもそのまま「はい」で続行。
--------------------------------------------------------------------
●B案:許可する文字を全て書き出す

例えば「全角英数のみ」の場合

 =SUMPRODUCT(--ISERROR(FIND(MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1),"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")))=0
 【入力しようとした文字列のすべての文字が、指定した文字列の中にあれば許可】
--------------------------------------------------------------------
※いずれもExcel2003で動作確認済
※当然ですが、[日本語入力]タブの設定も併用して、
 IMEを自動的に切り替えないと非常に不便です。
※数式が長いので、直接打ち込むのではなく、
 別の場所に書き込んでから、コピー>Ctrl+Vで貼り付けた方が確実です。

以上ご参考まで。
    • good
    • 1
この回答へのお礼

ありがとうございます!!
とりあえず急いでいたので、別の列に置換の式を設定し強制的に置き換えたのですが…。
もう一回同様の作業が入ってくる予定なので、次回、試してみます!!

お礼日時:2008/03/04 11:15

データ(D)の入力規則(L)の中にあるタブで「日本語入力」の項目をそれぞれの項目に変えてはどうでしょう。

セル単位で設定できますが。
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
日本語入力はすべて試してみたのですが…。

半角カナ・全角カナ等、設定してみても、変換すれば
 半角カナ→全角カナ・漢字へ
 全角カナ→ひらがな・漢字へ
変更できてしまうのですが、なにか設定の仕方を間違えているんでしょうか…?

お礼日時:2008/02/18 22:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!