• ベストアンサー

EXCEL: 文字数制限

すみません、どなたか教えてください。 セルC1に対して、文字数制限(50文字まで)をかけたいのです。メッセージboxを表示して。 C1には関数で「=A1&" "&B1」となっています。 A1とB1には文字列が入力されています。 この2つの文字列を組み合わせた文字列がC1にきます。 C1に対して、メニューバーの「データ」/「入力規則」で設定はしているのですが、関数で値を求めているせいか、メッセージboxが表示されません。セルC1に直接入力するとメッセージは表示されるのですが…。ちなみに、文字列にあるスペースもカウントしたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんにちは C1が数式の場合、入力規則でチェックをかけるのは 無理(詳しくはヘルプを見てみて下さい)なので入力 元である A1とB1にてチェックすることになると 思います。 ・A1:B1を選択 ・データ 入力規則 ユーザー設定  数式欄に =LEN($A1&" "&$B1)<=50  (全角半角関係なく50文字以下の式です)  全角50文字 半角100文字以下なら  =LENB($A1&" "&$B1)<=100  半角50文字(全角25文字)以下なら  =LENB($A1&" "&$B1)<=50 A1もしくはB1の入力時点でチェックされます。

関連するQ&A

  • EXCEL2000 セルの文字数制限ですが・・・

    セル内の文字数を全角4文字以内とし、5文字以上入力しても 表示は頭からの4文字のみが表示されるようにしたいんです。 LENB関数ではエラーメッセージとしか表示去れないのでだめです。 文字列を入力し、変換→ENTERで自動的に頭から4文字のみ表示する 方法を教えてください。 よろしくお願いします。

  • 【EXCEL】セルに入力する文字数を制限したい

    過去のQ&Aを検索しましたがそれらしき物が見つからないのでお尋ねします。 エクセルのセルに入力出来る文字列を12桁に制限したいのですが、使用する文字列には0が含まれる事がある為か入力規則の文字列の制限で最小12,最大12では上手く行きません。 多分"000000000001"は"1"に同じなのでエラーになると思います。 12桁の文字列は0~9を含むアルファベットです。 (例:0A393Z093B00)です。 よろしくお願いします。

  • EXCEL、文字の数をカウントしたい。

    エクセル関数を使って、文字(100文字以上)の数をカウントしたいのですが、可能でしょうか。 例えば:セルに一つずつ、ABCAAACDを入力した場合に、A=4、B=1、C=2、D=1 のように表示したいんです。 ※Aを数える場合に、IF関数を使ってAのとき1となるように IF(A1="A",1)+IF(A2="A",1)+・・・+・・・のように順次足していけば短い文字であれば可能ですが、文字数が多くなってくると、セル内に関数がはいりきらずに計算できなくなります。別の関数をつかってより簡単に計算できないでしょうか?

  • Excel 文字数に制限あり??

    Excel 「CONCATENATE」文字数に制限あり?? 「B列からF列」までに入力された数字・文字・数式を、同じシート内の「H列」にて1行に表示させるため数式を入れていますが、文字数が255文字を(スペース含む)超えると【#VALUE!】(値のエラー)が出ます。 このエラーを回避し、正しく表示させる方法はありますでしょうか? ======================================================== *B列、D列、F列  数字、文字など、直接入力されています(空のセルあり) *C列、E列(参照先のセルが空白の場合あり)  =IF(ISERROR(INDIRECT("'シート名'!D2")),"",INDIRECT("'シート名'!D2")) *H列  =CONCATENATE(TEXT(B2,";;;@"),TEXT(C2,";;;@"),TEXT(D2,";;;@"),TEXT(E2,";;;@"),TEXT(F2,";;;@")) ======================================================== 分かりにくい説明ですみません。 よろしくお願いいたします。 環境 Win XP /Excel 2003

  • エクセル:文字列のバイト数が欲しい

    セルB1に、  半角スペース、全角2文字、半角スペース、 と入力しました。 このシートの別のセルに、 =Len(B1)と入力すると4と表示され、 =LenB(B1)と入力すると6と表示されますので、 間違いなく「半角スペース・全角2文字・半角スペース」がB1に入っているはずです。 このシートのコードに、 Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Address = "$L$1" Then     MsgBox LenB(Cells(1, 2).Value)   End If End Sub と打ちました。 ここでシート上のセルL1に何か入力するとメッセージボックスが出るのですが、 メッセージボックスに出る値は8です。 何が原因でしょうか。 6が表示されて欲しいのですが(文字列のバイト数が欲しい)、 どのようにコードを書けばよいでしょうか。 実際にB1に入れていた文字は、 1B です。 (半角スペース・全角数字1・全角英字B・半角スペース)

  • EXCEL関数にて、他のセルの条件により文字表示を変えたい

    スミマセン。 EXCEL関数にて、他のセルの条件により文字表示を変えたいのです。 EXCEL 2000 SP-3です。 関数について教えていただければ幸いです。 A,B,Cの三つのセルがあります A,bの内容次第でcに ”良”と表示したいのです。 a,b共に空欄なら、Cも空欄 aに文字列が入ったら Cは”良”と表示 a、bに文字列が入ったら Cは空欄 内容はいずれも文字列です。 どうしても関数で行いたいのですが、時間ばかり掛かって 作成することが出来ませんでした。 どなたかアドバイスをお願いいたします。

  • エクセルでA1のセルの文字とB1のセルの文字をくっつける方法

    たとえばA1のセルに「田中」という文字が入力されていて、B1のセルに「太郎」という文字が入力されているとします。 これをC1のセルに、A1セルとB1セルの文字をくっつけて「田中太郎」という文字を表示させたいのですが、関数か何かを使用してこういったことはできませんでしょうか? ちなみに、A列及びB列セルに文字が200個くらい入力されているので、コピーペーストでは辛いんです。

  • EXCELで、文字列を任意の文字数毎に分割するには

    ≪やりたい内容と条件≫ ◆EXCELで、文字列を任意の文字数毎に分割したいです。 ◆文字列は、全角・半角・記号を含みます。 ◆1つのセルが半角80桁という制限があり、その上限を超えると、右の次のセルに流し込まれるようにしたいです。(A1は元の文字列1500桁くらい、以降B1,C1,D1,E1・・・という具合に流し込み) ≪試した内容≫ MIDB関数を見つけ挑戦しましたが、1つ目のセルはうまくいきますが、その後が出来ません。例えば、文字列が「・・・・・・abcあいうえお」となっていた場合、B1は「・・・・・・abcあいう」、C1は「 お」(「お」の前は、半角スペース)となります。 何かよい方法はないでしょうか。 一度に出来ないようであれば、A1-B1で残りの文字列が表示できれば、それ以降はまた関数を入れて一つ一つやっていきたいと思っています。 よろしくお願いいたします。

  • Excel:セル枠外にはみ出た文字列全体の表示

    お世話になります。WindowsXPでExcel2002を使用しております。是非教えてください。 Excelで入力した文字列がセルの横幅を越えた長さとなった場合、右隣のセルが未入力であれば、自動的に全体が表示されるようになっています。 しかし、右隣のセルに、例えば関数を入力していた場合など何らかのデータを入力していた場合には、枠内までの文字しか表示されなくなります。 右隣のセルが、関数計算の結果、何らかの数値、文字列が表示される場合には致し方ないと思いますが、特に何も表示されない時、左隣のセルの文字列全体が表示されるようにしたいのですが、何らかの方法はございますでしょうか。 ちなみに、具体的な状況については以下の通りです。  |A|B| 1| | | ・A1、B1セルにはそれぞれ同じIF関数(=IF([論理式],A21,""))を入力。 ・A1セルのIF関数が「真」となったため、A21の文字列("浜崎総務部長の来訪")が表示される。 ・B1セルのIF関数が「偽」となったため、何も表示されず。 宜しくお願い致します。

  • エクセル:””をいれると左横のセルの文字列の表示が消える

    よろしくお願いします。 例えば セル”C2”にIF(A2=1,"","×")などと関数を入力しているとします。 そこで、A2=1,B2に長文の文字列が入力されているときに、 C2には「""」が返されるわけですが、 B2に入力されている文字がさえぎられてしまいます。 尚、B列のセル幅はあえて「10」に設定しておきたい状況です。 C2に入れるIF関数を工夫することで、 A2=1の時に、B2の文字が長文でも表示できる方法はありますでしょうか?

専門家に質問してみよう