• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:■エクセル■ 顧客情報のデータを1列ずつにしたい)

エクセルで顧客情報を1列ずつに整理する方法

このQ&Aのポイント
  • 仕事で使用するための顧客データを1列ずつに整理したいです。現在、元データの入り方が特殊で、一つずつ移動させています。エクセルの式を使って簡単に整理する方法はありませんか?
  • 顧客データを整理するためにエクセルの式を使用していますが、うまい方法が見つかりません。各項目を1列に整理する方法はありませんか?
  • 顧客データを1列ずつに整理するためのエクセル式を探していますが、うまくいきません。良い方法があれば教えてください。

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

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

こんばんは! VBAになってしまいますが・・・ 一例です。 前提条件として、 C列が「診療所名」 D列が郵便番号等の住所 F列が「法人名」・「代表者?」名 J列が「平成○○年・・・}からといった列になっている。 もし1行目にデータがない場合はダミーで構いませんので、どこかの列の1行目に何等かのデータを入れておいてください。 (数値の「1」でも構いません) コード内で最終行の取得をしていますので、1行目にデータがない場合は最終行が違ってきます。 上記の条件だとして、 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long Columns(5).Insert Application.ScreenUpdating = False For i = UsedRange.Rows.Count To 2 Step -1 If Cells(i, 3) <> "" And Cells(i - 1, 3) <> "" Then Cells(i - 1, 3) = Cells(i - 1, 3) & Cells(i, 3) Cells(i, 3).ClearContents End If If Cells(i, 4) <> "" And Cells(i - 1, 4) <> "" And InStr(Cells(i - 1, 4), "〒") = 0 Then Cells(i - 1, 4) = Cells(i - 1, 4) & Cells(i, 4) Cells(i, 4).ClearContents End If If Cells(i, 7) <> "" And Cells(i - 1, 7) <> "" Then Cells(i - 1, 7) = Cells(i - 1, 7) & Cells(i, 7) Cells(i, 7).ClearContents End If Next i For i = 1 To UsedRange.Rows.Count If Cells(i, 4) <> "" And InStr(Cells(i, 4), "〒") = 0 Then Cells(i, 4).Cut Destination:=Cells(i - 1, 5) End If If WorksheetFunction.CountA(Range(Cells(i, "K"), Cells(i + 2, "K"))) = 3 Then With Cells(i, "K").Offset(, 1) .Value = Cells(i + 1, "K") .Offset(, 1) = Cells(i + 2, "K") End With Range(Cells(i + 1, "K"), Cells(i + 2, "K")).ClearContents End If Next i Columns("B:K").AutoFit Application.ScreenUpdating = True End Sub 'この行まで 尚、一旦マクロを実行すると元に戻せませんので、別Sheetでマクロを試してみてください。 参考になりますかね?m(_ _)m

tmdtmd
質問者

お礼

そのままコピペさせて頂いて、本物のデータでもうまくいきました。 本当にデータ量が多いので膨大な作業時間を削減できました。 ありがとうございました。

その他の回答 (1)

  • nao-y
  • ベストアンサー率58% (111/190)
回答No.1

うーん、ちょっとこれはやっかいですねえ。 手作業でやるとしたら、 1.D列を選択して空列を挿入 2.D9セルに「=C9&C10&C11」と入力して最終行までコピー 3.D列をコピー→形式を選択して貼り付け→値を選択 4.E列を削除 を、G列、I列、H列、K列でも実行する。 って感じですかねえ。 もちろんこの操作をマクロで実現できます。 ファイルが複数ある、とか、データ数が膨大、とかなら マクロにした方がいいかもしれません。

tmdtmd
質問者

お礼

エクセルの知識があまり無いものでマクロのやり方もよく分かりません。 ご回答ありがとうございました。

関連するQ&A