• ベストアンサー

エクセル 全角から半角への変換

エクセルで作成した住所録(住所と電話番号)の数字が全角と半角がごちゃまぜになってしまっているので半角に全て変換をしたいので教えてください。お願いいたします。

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

  • ベストアンサー
  • mcsp
  • ベストアンサー率46% (6/13)
回答No.8

 こんにちは。No.2様の方式をあえて採用してみますとこんな風でしょうか。 Excel2000~2003でのやり方です。もしExcel2007をお持ちの方ですと以下の操作が 異なってしまいますのでその時はごめんなさい(VBAコード自体は有効だと思います)。  VBAを記述するには Excel のメニューより   ツール → マクロ → Visual Basic Editor と選択します。そして「プロジェクト」ウインドウの Microsoft Excel Objects の所で   右クリック → 挿入 → 標準モジュール とします。コードのウインドウが開いたら下記のコードをコピペしてください。 '---------ここから------------- Function ZenToHan(strStr As String) As String  ZenToHan = StrConv(strStr, vbNarrow) End Function Sub test()  Dim strWk As String  Dim rgWk As Range  Dim rgArea As Range  Set rgArea = Range("B5:C8") 'セル範囲を指定。左記の例はセルB5からC8の範囲                      'という意味です。B列に住所、C列に電話番号のイメージ  For Each rgWk In rgArea   strWk = rgWk.Value   rgWk.Value = ZenToHan(strWk)  Next  Set rgArea = Nothing End Sub '----------ここまで------------  この後一度ファイルを保存しておいてください。そしてExcelのメニューで   ツール → マクロ → マクロ として、マクロ名:test を選んで実行します。 結果がおかしければファイルを保存せずに終了して、先ほど保存したファイルを読み込み なおしてください。 ちょっと煩雑かもしれませんが、VBAでやるならという参考まで...

o-shietene
質問者

お礼

すごいです! ご親切にありがとうございました。 また、何かありましたらよろしくお願いいたします。

その他の回答 (7)

  • coroleone
  • ベストアンサー率39% (9/23)
回答No.7

OpenOfficeのやりかたですが ・Ctrlキーを押しながら半角にしたいセルを選ぶ ・書式→文字種の変換→半角をクリック これで全て半角になります。 エクセルで試してないのでできなかったらすいません。

  • D-JM
  • ベストアンサー率16% (1/6)
回答No.6

数値だけを全角⇒半角ということでしたら、 cntl-A で全体を選択してから、ctrl-H(置換)で、置換元を 「0」、置換後を「0」で置換実行。 それを10回(0~9)繰り返せば完成です。 (やってみたら、案外てっとりばやいかと)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

ASC関数ではどうかな。カタカナも半角になるが、住所なら差し支えないだろう。 全角に統一はJIS関数。住所なら、全角に統一がよいのでは。 数字だけとなると関数では細工が要るし、VBAなども使う。

  • toom2005
  • ベストアンサー率0% (0/5)
回答No.4

一番簡単で早い方法をアドバイス 名前の入っている列を選択しCTRL+Hで検索と置換です。 変更前を 全角スペース 変換後を 半角スペース これですべて半角になります。 逆をすれば全角です。 式なども作るのは大変なので、 ただし、この作業は定期的に行わなくてはいけないので対策は関数をつくるか、姓名を分けて入力し、違うフィールドであわせるというのがいい方法かとおもいます。 合わせるのは=E13& " "&F13

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

カナ、英文字も変換されますが次の方法で如何でしょうか。 仮に表は見出し行ありでA列の住所を空き列のE列、B列の電話番号をF列に変換します。 (1)E2に=ASC(A2)、F2に=ASC(B2)を入力、E2:F2を選択して下方向にコピー (2)変換された範囲をコピー→A2を選択→形式を選択して貼り付け→値にチェック→OK (3)E,F列を削除

noname#67980
noname#67980
回答No.2

VBAを使うのであれば StrConv("012345", vbWide) とやると"012345"となり StrConv("012345", vbNarrow ) とすると"012345"と出来ます。

o-shietene
質問者

補足

VBAとはどういったことなのでしょうか? 初心者なので詳しく教えて頂ければと思います。よろしくお願い致します。

noname#176215
noname#176215
回答No.1

カタカナは全角のままでとなると 作業列を使って処理することになり ます。A1セルにデータがあるとして ■B1セル =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A1,"1",1),"2",2),"3",3),"4",4),"5",5) ■C1セル =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( B1,"6",6),"7",7),"8",8),"9",9),"0",0) それかユーザー定義関数を作るかですね。

関連するQ&A

専門家に質問してみよう