質問 |
||
| 質問者:o-shietene | エクセル 全角から半角への変換 | |
|---|---|---|
困り度:
|
エクセルで作成した住所録(住所と電話番号)の数字が全角と半角がごちゃまぜになってしまっているので半角に全て変換をしたいので教えてください。お願いいたします。 | |
質問投稿日時:08/07/03 11:58 質問番号:4147928 |
||
回答良回答20pt |
|
| 回答者:mcsp | こんにちは。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でやるならという参考まで... |
|---|---|
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 13:21 回答番号:No.8 |
|
| この回答へのお礼 | すごいです! ご親切にありがとうございました。 また、何かありましたらよろしくお願いいたします。 |
回答 |
|
| 回答者:coroleone | OpenOfficeのやりかたですが ・Ctrlキーを押しながら半角にしたいセルを選ぶ ・書式→文字種の変換→半角をクリック これで全て半角になります。 エクセルで試してないのでできなかったらすいません。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 13:18 回答番号:No.7 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答10pt |
|
| 回答者:D-JM | 数値だけを全角⇒半角ということでしたら、 cntl-A で全体を選択してから、ctrl-H(置換)で、置換元を 「0」、置換後を「0」で置換実行。 それを10回(0〜9)繰り返せば完成です。 (やってみたら、案外てっとりばやいかと) |
|---|---|
| 種類:回答 どんな人:専門家 自信:自信あり |
|
| |
回答日時:08/07/03 13:07 回答番号:No.6 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:imogasi | ASC関数ではどうかな。カタカナも半角になるが、住所なら差し支えないだろう。 全角に統一はJIS関数。住所なら、全角に統一がよいのでは。 数字だけとなると関数では細工が要るし、VBAなども使う。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 12:55 回答番号:No.5 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:toom2005 | 一番簡単で早い方法をアドバイス 名前の入っている列を選択しCTRL+Hで検索と置換です。 変更前を 全角スペース 変換後を 半角スペース これですべて半角になります。 逆をすれば全角です。 式なども作るのは大変なので、 ただし、この作業は定期的に行わなくてはいけないので対策は関数をつくるか、姓名を分けて入力し、違うフィールドであわせるというのがいい方法かとおもいます。 合わせるのは=E13& " "&F13 |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:自信あり |
|
| |
回答日時:08/07/03 12:22 回答番号:No.4 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:mu2011 | カナ、英文字も変換されますが次の方法で如何でしょうか。 仮に表は見出し行ありでA列の住所を空き列のE列、B列の電話番号をF列に変換します。 (1)E2に=ASC(A2)、F2に=ASC(B2)を入力、E2:F2を選択して下方向にコピー (2)変換された範囲をコピー→A2を選択→形式を選択して貼り付け→値にチェック→OK (3)E,F列を削除 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 12:17 回答番号:No.3 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:noname#67980 | VBAを使うのであれば StrConv("012345", vbWide) とやると"012345"となり StrConv("012345", vbNarrow ) とすると"012345"と出来ます。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:参考意見 |
|
| |
回答日時:08/07/03 12:08 回答番号:No.2 |
|
| この回答への補足 | VBAとはどういったことなのでしょうか? 初心者なので詳しく教えて頂ければと思います。よろしくお願い致します。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| 回答者:Chiquilin | カタカナは全角のままでとなると 作業列を使って処理することになり ます。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) それかユーザー定義関数を作るかですね。 |
|---|---|
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/03 12:01 回答番号:No.1 |
|
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |