• ベストアンサー

エクセルの(かっこ)について教えてください

ある数値と文字が1つのセルにあるのですが、文字だけに(かっこ)をつけたいのですがなかなかうまくできません。例えば198763578三角大学を198763578(三角大学)にしたいのです。膨大な量があるため、どなたかご教授いただけないでしょうか?

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

  • ベストアンサー
noname#106515
noname#106515
回答No.1

数字の文字数は一定ですか? 例の通り9文字で固定なら =LEFT(A1,9)&"("&MID(A1,10,LEN(A1)-9)&")" (元データがセルA1の場合)

tsumuji1
質問者

お礼

年始早々にありがとうございました。おかげさまで膨大なデータ処理が「あっ」という間に出来ました。お世話になりました。

その他の回答 (5)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

数字が半角で文字が全角であることが必要ですがA1セルから下方にデータがあるとしたら、B1セルには次の式を入力して下方にドラッグコピーします。 =LEFT(A1,LEN(A1)-(LENB(A1)-LEN(A1)))&" ("&RIGHT(A1,LENB(A1)-LEN(A1))&")"

tsumuji1
質問者

お礼

ありがとうございました。「バッチリ」です。膨大な量だったため大変助かりました。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

試しにVBAの例です。 Dim RgExp, Matches Dim strPat As String '----検索パターン Dim strTxt As String '----検索文字列 Dim c As Range Set RgExp = CreateObject("VBScript.RegExp") strPat = "[^0-90-9]" With RgExp .Pattern = strPat '----パターンを設定 .IgnoreCase = True '----大/小文字を区別する(False)、しない(True) .Global = True '----文字列全体を検索する(True)、しない(False) End With For Each c In Selection Set Matches = RgExp.Execute(c.Value) c.Value = Replace(c.Value, Matches(0), "(" & Matches(0), 1, 1) c.Value = c.Value & ")" Next 下記では、VBA実行前に対象セル範囲を選択する必要があります。 For Each c In Selection そのままでも良いのですが、出来れば対象セル範囲に書き変えてください。 正規表現は下記ページを参考にしました。 Excel(エクセル) VBA入門:RegExpオブジェクト http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=5567875

tsumuji1
質問者

お礼

ご丁寧にありがとうございました。

noname#204879
noname#204879
回答No.4

》 数値と文字が1つのセルにある… 「198763578(三角大学)」と表示させるのが目的なら、セルの中身は数値だけにして、文字は書式設定による方法もあります。 1.空白セルを選択して、   G/標準"(三角大学)"   とユーザー定義で書式設定。→表示は空白のまま 2.数値 198763578 を入力 → あら不思議 198763578(三角大学) と表                示されます 貴方の求める解決策でないことは承知していますが、参考までに。

tsumuji1
質問者

お礼

こんな方法もあるのですね。参考になりました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 参考になるかどうか判りませんが・・・ 一例です。 ↓の画像で説明させていただきます。 B2セルに =IF(A2="","",MID(A2,MATCH(TRUE,ISNUMBER(MID(A2,ROW($A$1:$A$20),1)*1),0),COUNT(MID(A2,ROW($A$1:$A$20),1)*1))) (A列のセル内のデータが20文字まで対応できるようにしています。) これは配列数式になってしまいますので、この画面からコピー&ペーストしただけではエラーになると思います。 B2セルに貼り付け後、F2キーを押すか、数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 C2セルには =IF(B2="","",B2&"("&SUBSTITUTE(A2,B2,"")&")") (これは配列数式ではありません) 最後にB2・C2セルを範囲指定し、C2セルのフィルハンドルでオートフィルで下へコピーすると 画像のような感じになります。 尚、A列のデータの数字が離れて存在している場合は希望通りにならないと思います。 例えば、1453○○大学101 のような感じで・・・ 以上、長々と書きましたが 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

tsumuji1
質問者

お礼

ご丁寧にわかりやすい説明で参考になりました。ありがとうございました。

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.2

括弧の前にシングルコーテーション'をつけます。

tsumuji1
質問者

お礼

参考になりました。ありがとうございました。

関連するQ&A