ExcelへのCSVファイルの取り込み方法

このQ&Aのポイント
  • ExcelへのCSVファイルの取り込み方法を解説します。
  • CSVファイルをExcelに取り込む際に、セルの表示を適切にする方法を紹介します。
  • 改行やスペースを含むCSVファイルを正しくExcelに取り込む方法を説明します。
回答を見る
  • ベストアンサー

ExcelへのCSVファイルの取り込み

当方のExcelの環境は、Excel 2003/2007/2010 が混在しています。 CSVファイルをExcelに取り込んだ際、各セルへ下記のような当方の意図した形式で取り込む方法をご教示頂きたくお願い致します。 下記のようなダブルクォーテーション( " )で囲まれたカンマ( , )区切りのCSVファイルがあるとします。 ※[改行]の部分は、実際には改行コードが入っています。 ※[スペース]の部分は、実際には半角/全角スペースのいずれかが入っています。 "登録番号","登録名","登録内容","部署コード" "0001","山田一郎","・テスト[改行][スペース][スペース]ホゲホゲ,"01" "1002","鈴木次郎","・テスト2","10" "0102","佐藤三郎","","10" このファイルをExcelで開くと、A1~D4の各セルに下記の内容で表示されます。 =========== A1セル:登録番号 B1セル:登録名 C1セル:登録内容 D1セル:部署コード A2セル:1 B2セル:山田一郎 C2セル:・テスト       ホゲホゲ D2セル:1 A3セル:1002 B3セル:鈴木次郎 C3セル:・テスト2 D3セル:10 A4セル:102 B4セル:佐藤三郎 C4セル: D4セル:10 =========== これを下記のようにA2やD2、A4セルの数字部をデータ通りに表示したいです。 =========== A1セル:登録番号 B1セル:登録名 C1セル:登録内容 D1セル:部署コード A2セル:0001 B2セル:山田一郎 C2セル:・テスト       ホゲホゲ D2セル:01 A3セル:1002 B3セル:鈴木次郎 C3セル:・テスト2 D3セル:10 A4セル:0102 B4セル:佐藤三郎 C4セル: D4セル:10 =========== データの取り込みにて区切り文字を"カンマ"にして、A列やD列を"文字列"として読み込む事を考えましたが、「登録内容」の部分に改行が入っている為、下記のように改行後の文字列がA列に入ってしまい、意図した内容での表示が出来ません。 =========== A1セル:登録番号 B1セル:登録名 C1セル:登録内容 D1セル:部署コード A2セル:0001 B2セル:山田一郎 C2セル:・テスト D2セル: A3セル: ホゲホゲ" B3セル:1 C3セル: D3セル: A4セル:1002 B4セル:鈴木次郎 C4セル:・テスト2 D4セル:10 A5セル:0102 B5セル:佐藤三郎 C5セル: D5セル:10 =========== A列、D列は文字列の状態で読み込みつつ、C列の改行は当該セル内で実行する方法をご教示頂きたくお願い致します。

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

  • ベストアンサー
  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.2

>A列、D列は文字列の状態で読み込みつつ、C列の改行は当該セル内で実行する方法をご教示頂きたくお願い致します。 エクセルで解決しようとすると面倒なので 例えば wordで”+[改行コード]を一旦何か別のもの例えば???に変換し 残った[改行コード]を△に変換 ???を"+[改行コード]に戻す エクセル上で△を[alt+改行]に変換 とかするのが簡単だと思いますけど。

torotototoro
質問者

お礼

ご回答ありがとうございます。 やはり、単純にエクセルで実現するのは難しそうですか。 マクロ等を駆使して望み通りの書式の実現を考えてみます。 ありがとうございました。

その他の回答 (1)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

外部データの取り込み でやっているんですよね? 途中で ”文字列で取り込む” 的な項目があるはずです。

torotototoro
質問者

補足

ご回答ありがとうございます。 ご推察の通り、外部データの取り込みはトライしましたが、 外部データの取り込み時点(ウィザード起動時点)で既に改行が 効いてしまっている為、その時点で本来C列に入って欲しい 内容がA列に来てしまいます。 その為、列のデータ形式を"文字列"に変更すれば、質問に記載 しています一番したの====部のようになってしまい、実施したい 内容を満たすことが出来ません。 どのようにすれば、特定の列のデータ形式が"文字列"となり、 かつ、改行コードが含まれていても1つのセルにデータを取り込む 事が出来ますでしょうか?

関連するQ&A

  • 条件にあった複数データを組合わせて別のセルに表示するには?

    例えば、以下のデータがセルに入っていたとして A列には姓 B列には名 A1:鈴木  B1:一郎 A2:鈴木  B2:次郎 A3:鈴木  B3:三郎 A4:佐藤  B3:あきら A5:佐藤  B3:けんた 同じ姓にあてはまるデータの名を、組合わせて別のセルに表示したいのです。 結果イメージ C1:鈴木  D1:一郎 次郎 三郎 C2:佐藤  D2:あきら けんた このようなことAccessかExcelで出来ますか?

  • Excel2003でセル内の一部の文字をまとめて消去したい

    佐藤一郎・田中次郎 鈴木一太郎・山田三郎      ・       ・ と、ひとつのセル内に名前が二つ・を挟んで入力 されていて、同じ列に並んでいます(A1~A100の様に) セル内の右(または左)の名前と・をA1~A100迄 いっぺんに消去したいのですがマクロまたはVBAで 出来るのでしょうか。 どなたかご教示を。

  • エクセルで旅費精算する際の工夫で困ってます。

    たとえば以下のようなエクセルの表において、 名前(A列)    出発日(B列)   帰着日(C列) 田中 一郎    11/3        11/5 田中 次郎    11/1        11/1 田中 三郎    11/5        11/6 田中 四郎    11/2        11/2 田中 五郎    11/2        11/5 田中 一郎    11/7        11/8 田中 六郎    11/9        11/12 田中 一郎    11/5        11/7 最後の行は、同じ人物の帰着日と出発日がダブっているので、旅費の二重支払いをしてしまうおそれがあります。 D列に”チェック”という文字が出るなり、条件付書式でどこかのセルに色がつくなりで、注意するべきものであることがわかるよるにはどうすれば良いでしょうか? =IF(DATEDIF(B3,VLOOKUP(A3,A$1:C2,3,0),"D")<1,"チェック","") としてもVLOOKUPでは一つの行しか対象にできないのでダメですし、 大変困ってます。 詳しい方、よろしくお願い致します。

  • 【Excel VBA】コピー&ペーストの自動化

    以下のエクセル表があり、同じ日付ごとのデータを自動的に別のシートに移したいです。 例えば、別のシートに、2004/1/1に書かれているデータのみを移す。(シート2参照) それをVBAで書くにはどうすればいいでしょうか。 マクロの記録をするのではなく、この表の日付を増やしたり変えたりしても機能するようにコードを書きたいと思っております。 For LoopとIf thenを使い、A1セルがそれより下のセルの値と異なるまでコピーし続ける、、といった作業をすればよいのでしょうか。 全くの初心者で勉強中です。よろしくお願いいたします。 列行 A B 1 2004/1/1 太郎 2 2004/1/1 次郎 3 2004/1/1 三郎 4 2004/1/1 一郎 5 2004/1/1 五郎 6 2005/3/3 三郎 7 2005/3/3 次郎 8 2005/3/3 太郎 9 2005/3/3 四朗 10 2006/2/2 次郎 11 2006/2/2 一郎 12 2006/2/2 太郎 シート2 2004/1/1 太郎 次郎 三郎 一郎 五郎 シート3 2005/3/3 三郎 次郎 太郎 四朗 シート4 2006/2/2 次郎 一郎 太郎

  • Excel マクロ 特定の列のみカット&ペースト

    Excel マクロ初心者です。IF文を使用しているのですが上手くいきません。 A列が「次郎」の時、1つ上の行のB~E列をカットし次郎の行へペースト、B列が空白の行削除・A列に山田を追加する。 例 A列|B列|C列|D列|E列 花子|a|あ|か|g 太郎|c|う|き|g 次郎| | た | | 三郎|e|お|く|g マクロ後 A列|B列|C列|D列|E列 山田花子|a|あ|か|g 山田次郎|c|う|き|g 山田三郎|e|お|く|g 色々と調べて試してみたのですが知識不足の為、上手くいかず・・・全文載せていただけると、とても助かります。

  • Excelのドロップダウンリストについて

    Sheet1において, A列 B列 1 田中太郎 2 佐藤次郎 3 山田三郎 のようなリストを作成してあるとします。 Sheet2において, A1のセルに1を入力すると,B1のセルに田中太郎と表示される様,B1にVLOOKUP($A1,Sheet1!$A$1:$B$3,2,0)と入力しています。 この時,A1をドロップダウンリストで入力する場合,リストの表示と入力値を変更するようなことはできるのでしょうか。 すなわち,リストには, 田中太郎 佐藤次郎 山田三郎 と表示され, 田中太郎 を選ぶとA1には1が入力され,B1にはVLOOKUP関数の効果として田中太郎と表示されるといった具合です。 当方,HTMLは理解しておりますので,HTMLで意図をご説明させていただければと思います。 HTMLでプルダウンボックスを使う場合の入力として, <SELECT name="ボックス名"> <OPTION value="1">田中太郎</OPTION> <OPTION value="2">佐藤次郎</OPTION> <OPTION value="3">山田三郎</OPTION> </SELECT> ということになります。 これと同じようなことがエクセルで可能なのかどうかという質問でございます。

  • EXCELで顧客ごとにファイルを整理しており、ファイルをどこの棚に入れたかを管理するためのデータを作成中です。

    EXCELで顧客ごとにファイルを整理しており、ファイルをどこの棚に入れたかを管理するためのデータを作成中なのですが、いい方法があれば教えてください。 データ上は日付ごとに名前と棚の名前があるのですが、ファイルの保管は家族は同じ棚に保管するようになっているので、データを加工する必要があります。 例:Aの列には買い物した日付、Bの列にたくさんの名前が入っており、重複した名前も入っています。Cの列にBの列で重複した名前や家族などで同じグループである名前の人には半角の数字1,2,…などの番号を振ってあり、そうでない人は空欄にしてあります。Dの列にAの棚、Bの棚、Cの棚などの棚の名前が入っています。Eの列に棚ごとに数字を振っており、Aの棚なら半角の数字で1、Bの棚なら2、Cの棚なら3としています。 具体的に図で説明すると、現在のデータ上 A列 |B列 |C列 |D列 |E列 1/2|田中一郎 |1 |Bの棚 |2 1/5|佐藤一郎 |2 |Bの棚 |2 1/10|田中二郎 |1 |Aの棚 |1 1/15|小田二郎 |3 |Cの棚 |3 1/20|佐藤二郎 |2 |Aの棚 |1 1/20|小田一郎 |3 |Cの棚 |3 1/22|田中一郎 |1 |Cの棚 |3 1/25|山本一郎 | |Cの棚 |3 目的としてはCの列で同じグループにした名前のファイルの中で、Eの列で最小の番号にある棚の番号をFの列に表示して、Gの列に棚の名前を表示したいと思っています。 A列 |B列 |C列 |D列 |E列 |F列 |G列 1/2|田中一郎 |1 |Bの棚 |2 | 1 |Aの棚 1/5|佐藤一郎 |2 |Bの棚 |2 | 2 |Bの棚 1/10|田中二郎 |1 |Aの棚 |1 | 1 |Aの棚 1/15|小田二郎 |3 |Cの棚 |3 | 3 |Cの棚 1/20|佐藤二郎 |2 |Cの棚 |1 | 2 |Bの棚 1/20|小田一郎 |3 |Cの棚 |3 | 3 |Cの棚 1/22|田中一郎 |1 |Cの棚 |3 | 1 |Aの棚 1/25|山本一郎 | |Cの棚 |3 | 3 |Cの棚 Fの列の番号さえわかれば、Gの列の名前は関数を使えば表示できるのですが、Fの列の番号を表示するのは現在手作業でやっており、数も多く大変なので関数かマクロで簡単に出来ないかと思っています。 マクロはあまり得意ではないので、もしマクロの場合はできたらVBAのコメントを入れていただければありがたいです。

  • エクセルで出来ますか?

          A      B   C   D  1  山田太郎  32才  S  大阪  2  田中一郎  56才  A  熊本  3  井上次郎  71才  B  岐阜 上のようなデータベースがあります(実際には70件位) それを下のように年齢とC列の分類別に振り分け、なおかつ大阪にはセルの背景を赤、 熊本には黄色、岐阜は白を表示させたいです。 表には複数のデータが入ることになりますが、エクセルの関数で可能でしょうか? もし出来るなら関数式をご教授願います。     31-50     51-70     71- -------------------- S  山田太郎 -------------------- A            田中一郎 -------------------- B                     井上次郎 --------------------  

  • A列で太郎、一郎、三郎を検索し、検索された太郎、一郎、三郎のB列、C列

    A列で太郎、一郎、三郎を検索し、検索された太郎、一郎、三郎のB列、C列、D列を0を代入し、緑に塗るVBA記述を教えてください。

  • マクロかエクセル関数教えて下さい。

    エクセルマクロ及び関数式で教えていただけないでしょうか?       月  火  水  木  金 太郎   ○ 花子         ○ 一郎      ○ 次郎             ○ 三郎          ○ 担当者名 太郎 一郎 三郎 花子 次郎 このように、丸が入ると担当欄のセルに「担当者名:月は太郎、火は一郎‥」を自動表示させたい。 1.そのセルに関数式 2.マクロ(サンプル) を、ご教授してくださる方が、おられましたら宜しくお願い致します。 これでご覧になれますでしょうか? ↓ http://firestorage.jp/download/37abd45beb74cb129a16bd3a92042647c013... 宜しくお願い致します。

専門家に質問してみよう