
全角のみで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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) Excelの入力規則にいれる関数について 7 2022/12/22 10:19
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 16:55
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルで文字列としての指数...
-
エクセルで【0.5日と1日】を表...
-
Excelで【1-1】【1-2】【1-3】...
-
平方センチメートルの入力の仕方
-
EXCELで特定の文字列を入力→エ...
-
WORD2010 差し込み印刷の時間...
-
関数CONCATENATEの表示で
-
セルに数字を入れると×1000にな...
-
エクセルで分や秒の合計や平均...
-
エクセルのセルや文字を点滅表...
-
エクセル 100メートル競争のタ...
-
エクセルの金額入力で下3桁の...
-
エクセルにて、右詰めになって...
-
Excelで時間を1:30→1.3で表示し...
-
EXCEL セルの書式設定(ユーザー...
-
Excel 入力規則の複数指定につ...
-
エクセル セルの書式設定で4分岐
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルで【0.5日と1日】を表...
-
エクセルのセルや文字を点滅表...
-
セルに数字を入れると×1000にな...
-
Excelで【1-1】【1-2】【1-3】...
-
エクセルで文字列としての指数...
-
Excelで時間順で並べ替えしたい
-
EXCELで特定の文字列を入力→エ...
-
入力規則でスペース入力を禁止...
-
WORD2010 差し込み印刷の時間...
-
Excelで時間を1:30→1.3で表示し...
-
平方センチメートルの入力の仕方
-
少数点以下2桁以上の入力でエ...
-
エクセルで分や秒の合計や平均...
-
EXCEL セルの書式設定(ユーザー...
-
エクセルで自動的にイコール(...
-
文字の上にバーをつけるには?
-
EXCELで勝手に予測入力される
おすすめ情報