• ベストアンサー

エクセルデータのこういうデータは直せますか?

ham_kamoの回答

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.7

マクロで一気にやる方法です。Sheet1のA1にデータが入っているとして、Sheet2に分解した表を作ります。以下の手順に沿って操作してみてください。 まずAlt+F11を押すとVBAの画面が開くので、左側のツリーからブック名を選択し、右クリックから「挿入」>「標準モジュール」を選択して、右の画面に以下のマクロをコピーして貼り付けてください。 Sub Sample()  Dim Shimei As String, Addres As String, Tel As String  Dim Data As Variant  Dim i As Integer, j As Integer, TmpStr As String  Data = Split(Worksheets("Sheet1").Range("A1").Value, vbLf)    With Worksheets("Sheet2")   .Cells.ClearContents   .Range("A1:C1").Value = Array("氏名", "住所", "電話番号")   For i = 0 To UBound(Data)    If Data(i) Like "氏名*" Then     TmpStr = Replace(Data(i), "氏名", "")     j = 1    ElseIf Data(i) Like "住所*" Then     TmpStr = Replace(Data(i), "住所", "")     j = 2    ElseIf Data(i) Like "電話番号*" Then     TmpStr = Replace(Data(i), "電話番号", "")     j = 3    Else     j = 0    End If    If j > 0 Then     TmpStr = Trim(Replace(Replace(TmpStr, ":", ""), ":", ""))     .Cells(Rows.Count, j).NumberFormatLocal = "@"     .Cells(Rows.Count, j).End(xlUp).Offset(1).Value = TmpStr    End If   Next  End With End Sub その画面でF5キーを押すか、Alt+F11でExcelの画面に戻ってAlt+F8からマクロを実行してみてください。Sheet2に表ができます。 エラーが出たり、希望の結果と違う、その他おかしいことがあれば補足をお願いします。

ziru
質問者

補足

返事が遅くなりすみませんでした。 書いてあるとおりしてみましたが。 sheet2のところの一列目の 氏名   | 住所  | 電話番号| しか作成されません。 こちらのやりかたがいけないのでしょうか? 迷惑おかけします。

関連するQ&A

  • EXCEL データをレコード化するには

    Excelのデータについて教えてください 1枚目のシートに 管理番号:氏名:住所:電話番号の4つのデータがそれぞれ別のセルに入ってるデータが100件あります。 (Aの列:管理番号 Bの列:名前 Cの列:氏名 Dの列:電話番号) これを、2枚目のシートで利用したいのですが、 Aの列の管理番号を入力したら、その列のデータが表示されるように したいです。Wordの差込のような感じです。 =(Sheet1!$B3)これだと、1つのデータしか出ませんよね。 すべてのデータの送り状を作成したいと思っています。 VBAとかでないとできないのでしょうか。 よろしくお願いいたします。

  • エクセルのデータ入れ替え

    エクセルに 1氏名 2電話番号 3住所 4氏名 5電話番号 6住所 と入力されたデータがあります。 これを、 A氏名 B電話番号 C住所  氏名  電話番号  住所 と変換させたいのですが、どうしたら簡単に手っ取り早く 変換出来るでしょうか? かなりの数があるので、手間の掛からない方法を教えて下さい。 また、これを使って印刷をするので、それを考慮した方法で お願いします。

  • Excelのデータを書き換えるには

    Excelのデータを書き換えるには、たとえば、縦C列の文字で(空港)だけのデーターを残したいのですが、同時に横の2.5.8.9........................番のABのデーターも一緒に残せるのでしょうか。うまく説明出来ませんが、2A(住所)2B(電話番号)2C(空港) 5A(住所)5B(電話番号)5C(空港) 1A(住所)1B(電話番号)1C(スタジアム)3A(住所)3B(電話番号)3C(ジャイアンツ) 縦C列に(空港)がある横2.5.8.9......のデーターだけ残したいのです。宜しくお願いします。

  • エクセルの住所録データから郵便番号を引き出す方法はありますか?

    エクセルの住所録データから郵便番号を引き出す方法はありますか? A列に氏名B列に住所C列に電話番号が入力されています。 できればB列に郵便番号を一括変換で入力をしたいのですが・・・ エクセルで不可能であればフリーソフトでそのようなものがあればありがたいのですが・・・ よろしくお願いします。

  • エクセルのデータ加工

    エクセルのセルで、縦に1行目名前A、2行目住所A、3行目電話番号A、4行目名前B、5行目住所B、6行目電話番号B・・・、という具合に並んでいるデータを横に1列目1行目名前A、1列目2行目名前B、2列目の1行目住所A、2列目の2行目住所B、3列目の1行目電話番号A、3列目の2行目電話番号B、という風に加工したいのですが、一つ一つセルを移動するのではなく、なにか良い方法はありませんでしょうか?ちなみにデータは1000件ほどあるのですが。

  • エクセル2007 データ抽出(関数)について

    教えてください。エクセルシートにて郵便番号と住所が重複しているデータを抽出したいのです。 例)ある顧客の情報として、シート1のA列に、1から10までの新規顧客の氏名、B列には生年月日が入力されています。C列,D列は空白で、E列には全ての顧客(新規顧客を含みます)の氏名、F列には生年月日、G列には郵便番号、H列には住所が入力されています。このふたつの情報の中から、新規顧客データと全ての顧客データの氏名、生年月日が重複している顧客のみ、C列にその郵便番号、D列に住所を表示させたいのです。 OSはXP エクセル2007です。 困っています。よろしくお願いします。

  • エクセルの文字列分解

    住所録なのですが、A列に文字列で"(1)氏名(2)住所(3)電話番号(4)メールアドレス"とあります。これをB~E列に分解したいです。A列の共通の文字は(1)(2)(3)(4)です。 現状 A (1)氏名(2)住所(3)電話番号(4)メールアドレス 変更後 B     C     D       E 氏名   住所   電話番号   メールアドレス よろしくお願いします。

  • アクセス2003 複数の列に分かれたデータを1列にまとめたい

    例えば (A列)氏名/(B列)電話番号/(C列)携帯電話番号 というcsvデータがあり、これをアクセスに取り込んだときに (A列)氏名/(B列)電話番号or携帯電話番号 というように、2列のデータを1列にしたいのですが うまいやり方はないでしょうか? 元のデータをエクセル上でコピペすれば済むのですが 余計な手間はかけたくないので、よろしく御願いします。

  • Excelで入力した氏名をあいうえお順に並べ替える

    こんにちは。筆王のデータをエクセルに「住所録の編集」から「データの書き出し」をしました。Microsoft Excel2003(*.xls)を選択しました。書き出し対象は、氏名とふり仮名のみです。そのファイルを番号など付けるために編集しょうと思うのですが、書き出された氏名があいうえお順になっていないのですが、あいうえお順に並べ替えるには、どうしたら良いのでしょうか?教えて下さい。順番はA 列(番号)B 列(氏名)C 列(フリガナ)フルネーム以上の3つの項目です。WindowsXPです。宜しくお願いします。

  • エクセル あいうえお順に並べ替えしたいのですが。。

    はじめまして。 今、エクセルで下記のような顧客名簿を作成しています。 A列:日付 B列:氏名 C列:住所 D列:マンション名 E列:電話番号 氏名であいうえお順に並べ替えしたいのですが うまくいきません(ToT) いつもの通りに『並べ替えしたい範囲を選択→データ→並べ替え →最優先されるキーB列選択→OK』 とやってみたのですが、あいうえお順でもなくバラバラなんです。。 かといって住所順になっているわけでもないし。。 どなたかお分かりになる方いらっしゃいましたら アドバイスお願い致します!!!