![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
全角のみで25文字以内の設定を行いたいと思っておりますが、
A1のセルに下記の入力規則設定を行った場合
[ユーザー設定]⇒.[数式]
=AND(A1=JIS(A1),LEN(A1)<=25)
先頭からいくつか数字(全角でも)のみが並ぶとエラーになってしまいます。
また、
[文字列長さ]⇒.[最大値]
25以下
この場合も、数字のみですといくらでも入力が可能であり、しかも16番目の数字が0(ゼロ)に
変化してしまいました。
どこか、何かの設定方法が悪いと思うのですが、
本来設定したい内容としては、
●そのA1セルに、半角英数字を入力しても全角に変換し、文字数としてカウントする。
●上記のように、数字のみが10個並んだとしても許可して全角文字に変化させる。
これを設定したいのです。
どうか教授いただけないでしょうか。
宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
数字を文字列として認識させるのは、既回答で出ているようにセルの書式設定を文字列にしておくことで解決できます。
入力の際に数字を全角に、というのは入力規則→日本語入力タブ→プルダウンから「ひらがな」を選択しておき、テンキーでなくアルファベットの上にある数字キーで入力すると全角で入力されます。
(デスクトップPCのキーボードをお使いの場合)
なかなかこちらを閲覧できず、本日ようやく拝見させて頂きました。
ご親切な回答をありがとうございます。
やはり、数字はテンキーではない方がいいということですね。
基本数字入力はテンキーを使っているので悩ましいですが、他の方の方法も含めて
色々設定してみます。
ありがとうございました!
No.2
- 回答日時:
セルの書式設定の表示形式を[文字列]にしておかれる事で、
>16番目の数字が0(ゼロ)に変化してしまいました。
という現象を避ける事が出来ますし、入力されたデータは文字列データとして扱われる様になりますから、質問者様が既に試された
[入力値の種類]:ユーザー設定
[数式] :=AND(A1=JIS(A1),LEN(A1)<=25)
という設定で「入力値が25文字以内の大文字ではない場合には入力を拒否する」という入力規則とする事が出来ます。
それから、もし、
>●そのA1セルに、半角英数字を入力しても全角に変換し、文字数としてカウントする。
>●上記のように、数字のみが10個並んだとしても許可して全角文字に変化させる。
と仰る様に、
「(入力規則で入力を拒否するのではなく)入力されたデータ自体を全角の大文字のデータに書き換える」
という事をやりたいという事でしたら、セルの書式設定の表示形式を[文字列]にしておかれた上で、例えばA1セルに入力されたデータを25文字以内の全角大文字に変換するという場合には、次の様なVBAを作動させると良いと思いま す。
Sub Macro1()
Range("A1").Value = Left(StrConv(StrConv(Range("A1").Value, vbWide), vbUpperCase), 25)
End Sub
只、入力後に毎回毎回VBAを作動させるのは面倒くさい事ですし、VBAを作動し忘れる事もあるかも知れません。
ですから、A1セルに入力されているデータの方を全角大文字に変換するのではなく、A1セルに入力されているデータの方は、セルの書式設定([文字列])と入力規則([入力値の種類]:文字列(長さ指定)、[データ]:次の値以下、[最大値]:25)により25文字以内の文字列データとするだけで、小文字や半角文字を含んだデータのままにしておかれた上で、A1のデータを関数中で参照する際に、
A1
と関数中に記述されている箇所を、
JIS(UPPER(A1))
に置き換える事で、関数の中で全角大文字のデータとして扱う様にされては如何でしょうか?
或いは、作業列を設けるという方法も良いかも知れません。
例えば、仮に、元データがSheet1のA1セルに入力されることになっていて、Sheet2のB列を作業列として使用するものとした場合、Sheet2のB1セルに
=JIS(UPPER(Sheet1!A1))
という関数を入力しておかれた上で、その他のセルの関数中でSheet1のA1セルを参照している箇所を、Sheet2のB1セルを参照する様に変更されると良いと思います。
なかなかこちらを閲覧できず、本日ようやく拝見させて頂きました。
VBAのことや、関数の取り扱い方について、細やかに教えていただきありがとうございます。
まだ試しておりませんが、一度こちらを踏まえていろいろ設定してみます。
ありがとうございました!
No.1
- 回答日時:
現在の入力規則の設定をそのまま利用するなら、対応するセルの書式設定で、表示形式を「文字列」に設定してください。
ちなみに、入力規則などの一般機能では半角で入力したデータを全角に自動変換させることはできませんので、入力時に全角入力するようにしてください(全角英数だけの入力なら入力規則の日本語入力タブでIMEの入力モードを「全角英数字」にする)。
なかなかこちらを閲覧できず、本日ようやく拝見させて頂きました。
やはり入力規則での機能では半角で入力したデータを全角に自動変換できないのですね・・・。
ご親切にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルのセルや文字を点滅表...
-
エクセルで文字入力してEnterキ...
-
WORD2010 差し込み印刷の時間...
-
Excelで【1-1】【1-2】【1-3】...
-
入力規則でスペース入力を禁止...
-
Excelで時間順で並べ替えしたい
-
エクセルで【0.5日と1日】を表...
-
文字の上にバーをつけるには?
-
コクヨのリーフ仕入帳等にパソ...
-
Excelで時間を1:30→1.3で表示し...
-
エクセルの「○分○秒」の表示形...
-
エクセルで時間入力10:30:45...
-
関数CONCATENATEの表示で
-
エクセルで文字列としての指数...
-
エクセルで月日だけ入力すると...
-
平方センチメートルの入力の仕方
-
エクセルでアポストロフィを表...
-
エクセルで時間入力10:30の:...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルのセルや文字を点滅表...
-
エクセルで文字列としての指数...
-
セルに数字を入れると×1000にな...
-
Excelで時間順で並べ替えしたい
-
エクセルで【0.5日と1日】を表...
-
EXCELで勝手に予測入力される
-
Excelで【1-1】【1-2】【1-3】...
-
入力規則でスペース入力を禁止...
-
エクセルの「○分○秒」の表示形...
-
文字の上にバーをつけるには?
-
平方センチメートルの入力の仕方
-
EXCELで特定の文字列を入力→エ...
-
エクセルで時間入力10:30の:...
-
WORD2010 差し込み印刷の時間...
-
エクセルで分や秒の合計や平均...
-
エクセルで自動的にイコール(...
-
コクヨのリーフ仕入帳等にパソ...
おすすめ情報