• ベストアンサー

HPの投稿データをエクセルで一括にまとめる方法

こんにちは、いつもお世話になっております。 例えばなのですが、下記のようなサイトがあって http://www.cosme.net/product/brand/brand_id/2487 口コミを商品ごとにエクセルでデータとして まとめたいのですが、500件ほど有るので、クイックにやりたく困ってます。ちなみに20件ずつしか表示できないのでそれも手間なのです。 考えた方法としては、ローカルにいったん テキストで落として(20件ずつ!)それをエクセルで開きます。 そうしますと、例えば A1:名前 | 肌質(普通、乾燥、混合 のどれか)| 100歳(年齢) 2007/11/24 11:03:41 (投稿日時) A2:1~7までの評価、もしくは評価しないの空欄、(評価) A3:----一行あけて------(空いてないのもある、または、下記テキスト間で行が空いてる投稿もある) A4:----テキスト----- A5 :----テキスト----- A6:----テキスト----- A7:----テキスト-----(テキストの行数は決まりはありません。) A8:効果:(その直下セルに、爽快感、アクネケア、よく落ちる、潤い美白、くすみ、等の項目から選択されてる。) A9:購入した場所:●● 途中空いてる行があったり無かったり、テキストの行数も一定ではないし、項目がどこの行にはある、と言った規則性も無いです。 A1は後ほど「区切り位置」でどうにか、項目別に セルごと分けようと思います。 1:A2をB2にしたいのですが 「=」でB2にして、「連続データ」でスライドすると 当然余計なテキストまで、データにコピーされてしまいますし。。。 右何バイトを、左、に返す、とかいう関数もあるようので どうにかして出来ないでしょうか。 2:A4からA8までを一行にまとめたい。 3:続いて、出来たらA8をD列に、A9をE列にしたいです。 秀丸などのテキストエディタで編集したほうが楽なのでしょうか。。 (使ったこと無いですけど) ソースを表示してどうにかするとか、 ブラウザによってはoperaなどスタイルの表示の詳細を かなり細かく設定できるようなのでそういったことも考えたのですが。 ちょっと考えてたらこんがらがってしまいました。 もうそんな時間があったら、手でひたすらやったほうが早い のでしょうが。 自分だったらこうする!とか、こうやったほうが簡単! などアドバイスございましたらどなたか ご教授くださいますでしょうか。 よろしくお願いいたします。

  • anoyo
  • お礼率66% (169/256)

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

別のシートに A1 A2 A3 A4 A5 A6 A7 A8 A9 A19 A12 A13 ・・・・・ ROW()、COLUMN()を使って、上の数字がでるような方法を考えます。 データがSHEET1として 別シートのA1に =INDEX(Sheet1!$A:$A,(ROW()-1)*6+COLUMN(),1) 入れて、右フィル、下フィルでいかがですか。

anoyo
質問者

お礼

おお!ありがとうございます!! ううっううっ(嗚咽です・・) 出来ました!クイックに! 正直言って教えてくださった関数の意味は なんとなくしか分からないのですが きちんと理解して、今後活用したいです! 本当にとても助かりました。 これで明日の仕事もかなり効率よく出来ます。 感謝の気持ちでいっぱいです。 ありがとうございました。

anoyo
質問者

補足

回答ありがとうございます!! ちょっとまだ出先で試せてないのですが、 やってみます!

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

どういう状況なのか、よく理解できませんが >ちなみに20件ずつしか表示できないのでそれも手間なのです。 HPをベンダー会社に作成してもらって、回答の結果が20件分表示されるようになっているのですか? 試しに、表示された20件を選択してコピィ(Ctrl+c)、 エクセルに貼り付け(Ctrl+v)は、出来ませんでしたか? 作成を依頼した会社に相談すると、アドバイスがあるような気がします。 >テキストで落として(20件ずつ!)それをエクセルで開きます。 20件のデータが、ひとつのテキストファイルですか? 文字の一部分を取り出す関数で =MID(A1,5,10) 意味は、A1の内容の左から5文字目から10文字を返します。 その他、LEFT関数や、RIGHT関数もあります。 応用として、テキスト文書を、改行ごとにセルに分けるには、 =CLEAN(MID(SUBSTITUTE($A2,CHAR(10),REPT(CHAR(9),100)),COLUMN(A1)*100-99,100)) をB2に入れて、右フィルでは、いかがでしょうか。 A4からA7をひとつのセルにまとめるのであれば =A4&A5&A6&A7 と云った具合に&で加えていきます。 >自分だったらこうする!とか、こうやったほうが簡単! 今回きりであれば、印刷でもして、エクセルに手入力 今後も、同じような回答の集計を続けくのであれば、HP作成の会社(担当者)と相談して、集計の機能と付け加える。 回答の中に、文書で自由に記入できる部分があるようですが、これらをどのように分類するかは、必ず手入力になるでしょう。 集計を簡単にする方向でいけば、選択する項目を増やして、文字で入力する項目をなくす。但し、日々、変化する環境であれば、文字入力をのこして、手作業の集計を実施する事になると思います。 社内で検討する結果になると思います。

anoyo
質問者

補足

詳しい回答と助言ありがとうございます。 説明が明確で無かった様で、分かりづらく お手数おかけしております。 頼まれ仕事で私にもエクセルにする理由とメリットがよく分からないのですが。。 やりたいことは実はまんまで添付したサイトの 口コミをエクセルの表にすると言うことで・・ 本題ですが、なぜか「ファイル」からデスクトップに落として、それをエクセルで開いてました!コピペで大丈夫です! 現状は、あほながらに自分なりに考えて、operaのブラウザで 「改行を無効にする」「表(テーブル)を無効にする」と言うのがあったのでと言うのがあったので、それで表示したのをコピペしたところ 複数行になってるテキストはひとつのセルに出来ました。 現状は下記のデータが一件分として、 100件ほどのデータが下記のようにあります。 A1: 名前  A2:2007/11/24 A3:1~7までのいずれかの数値、または「評価しない」 A4:-----------テキスト内容-------- A5:効果 A6:購入した場所 A7: 名前  A8:2007/11/23 ↓続く・・・ これをA~Fの列ごとにして、1投稿を、1行ずつにしたいのですが どうにかコピペをしないでクイックに出来ないでしょうか。 これを一個一個、行列入れ替えコピペしていくのは あまりにむごすぎます! このシートが5枚分ぐらいあるのです・・ 1投稿は6行ごと、と言う規則性は出来たので だいぶきれいなデータになってきたとは思うのですが。 あともう一声、どなたかご教授くださいますでしょうか。 教えてくださった関数はまたの機会に活用させて頂きます! ありがとうございました。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

VBAを使用しましょう。 IEを操作して、HTML文を解析して、各セルに入れ込んでいけばいいと思います。

anoyo
質問者

お礼

早速の回答ありがとうございます。 すいません!張るリンク間違えてたのと 同じ質問を二回してしまいました。 http://www.cosme.net/product/review/product_id/270764 ↑参照して頂きたいページは質問時に張ったサイトの中の上記のページなのです。 難しそうなイメージがあって今までもそんなに必要なかったので、 不勉強ながら、VBAとかマクロは全然分からないのです・・ ちょっと参考までに調べてみます。 挫折しそうですが。 ありがとうございました!

関連するQ&A

  • HPの投稿データをエクセルで一括にまとめる方法

    こんにちは、いつもお世話になっております。 例えばなのですが、下記のようなサイトがあって http://www.cosme.net/product/brand/brand_id/2487 口コミを商品ごとにエクセルでデータとして まとめたいのですが、500件ほど有るので、クイックにやりたく困ってます。ちなみに20件ずつしか表示できないのでそれも手間なのす。 考えた方法としては、ローカルにいったん テキストで落として(20件ずつ!)それをエクセルで開きます。 そうしますと、例えば A1:名前 | 肌質(普通、乾燥、混合 のどれか)| 100歳(年齢) 2007/11/24 11:03:41 (投稿日時) A2:1~7までの評価、もしくは評価しないの空欄、(評価) A3:----一行あけて------(空いてないのもある、または、下記テキスト間で行が空いてる投稿もある) A4:----テキスト----- A5 :----テキスト----- A6:----テキスト----- A7:----テキスト-----(テキストの行数は決まりはありません。) A8:効果:(その直下セルに、爽快感、アクネケア、よく落ちる、潤い美白、くすみ、等の項目から選択されてる。) A9:購入した場所:●● 途中空いてる行があったり無かったり、テキストの行数も一定ではないし、項目がどこの行にはある、と言った規則性も無いです。 A1は後ほど「区切り位置」でどうにか、項目別に セルごと分けようと思います。 1:A2をB2にしたいのですが 「=」でB2にして、「連続データ」でスライドすると 当然余計なテキストまで、データにコピーされてしまいますし。。。 右何バイトを、左、に返す、とかいう関数もあるようので どうにかして出来ないでしょうか。 2:A4からA8までを一行にまとめたい。 3:続いて、出来たらA8をD列に、A9をE列にしたいです。 秀丸などのテキストエディタで編集したほうが楽なのでしょうか。。 (使ったこと無いですけど) ソースを表示してどうにかするとか、 ブラウザによってはoperaなどスタイルの表示の詳細を かなり細かく設定できるようなのでそういったことも考えたのですが。 ちょっと考えてたらこんがらがってしまいました。 もうそんな時間があったら、手でひたすらやったほうが早い のでしょうが。 長くなりましたが自分だったらこうする!とか、こうやったほうが簡単! などアドバイスございましたらどなたか ご教授くださいますでしょうか。 よろしくお願いいたします。

  • エクセルのマクロでデータを左につめていく

    お世話になります。エクセル2002でマクロを作成しようと思っています。 毎回同じ処理をしているので、良いサンプルがあったら教えてください。 やりたいこと  A列からF列にランダムにデータが入力されています。  このデータをA列、B列、C列と、左に詰め表示させたいです。  ※G列以降にもデータが入力されていますが、処理したい列範囲はA列~F列です。  ※行数は、都度変わります。(UsedRange.Rows.Countで値を取得) イメージ(処理前)  -  : 空白セル  *** : データが入力されているセル     A列   B列  C列  D列  E列   F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 - -   -  *** *** *** 4行目 ***  -   -   -   -   -  5行目 *** *** -   *** -   -  イメージ(処理後)     A列  B列  C列   D列  E列  F列 1行目 項目1 項目2 項目3 項目4 項目5 項目6 2行目 ***  ***  -   ***  *** - 3行目 *** *** *** - -   - 4行目 ***  -   -   -   -   -  5行目 *** *** *** -   -  -

  • エクセルでの行数・列数を指定しての一括コピーの方法

    エクセルの活用テクニックについて質問させていただきます。 よろしくお願い致します。 エクセルで、A1のセルに入っている内容を、 「A列の1000行目まで一括でコピーする」なので、 行数を指定しての一括コピーというのできるのでしょうか? また、もし可能であるとすれば、 行だけではなく列でもそういった事は可能でしょうか? ご存知の方がいらっしゃれば、教えていただけると助かります。 よろしくお願い致します。

  • エクセルの各シートをアクセスで結合するには

    お世話になります。 1つのエクセルファイルに同じ書式のシートが複数あります。1行目がタイトル行で2行目以降にデータが入っています。 この各シートのA2セルからM列の最終行までの範囲のデータを順番にアクセスに取り込み一つのテーブルを作成したい。各シートのデータを縦に結合するイメージです。行数は各シートバラバラです。また各シートの列数はM列より多いが必要なのはM列までです。 最初のシートだけタイトルが必要なのでA1セルから取り込みます。 縦に並べるとエクセルの最大行数を超える可能性があるので一旦エクセル上で縦に並べることは考えません。 アクセスに取り込んだ際、主キーになる項目がないので左端に1からの連番の列を作ります。 以上のことをするためにはどのようにすれば良いのでしょうか?シートがかなりあるので自動化できればうれしいです。 空シートはありませんが、空白のセルはあります。 よろしくお願いします。

  • Excel データの抽出について教えて下さい。

    初めて質問させて頂きます。 Excelでデータの抽出と言ったらいいでしょうか・・・ 「一定の条件に当てはまった場合に、別のセルに数字を入力する」 というような処理をしたいのですが、データ量が多くて、 どのようにやったら効率がいいのか、頭を悩ませています。 例えば・・・       A列  B列 1行目  111   A 2行目  112   B 3行目  115   C 4行目  115   C 5行目  118   D といったようなデータが1500件ほどあります。 このデータを使って、A列の中で番号が2つ(又は3つ等)あるものに、      A列   B列  C列 1行目  111   A 2行目  112   B 3行目  115   C    1 4行目  115   C    1 5行目  118   D といった感じで決まった数字を表示する方法がないでしょうか? こんな説明でご理解頂けるかどうか、心配なんですが・・・。 いい方法をご存知の方がいらっしゃいましたら、力を貸して下さい。

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • エクセルのデータを関数で一行にまとめたい

    エクセルで下記のような数字で区切られたデータがあり、(文字データの行数は決まっていません。) 1 あ い う え お 2 か き く け 3 さ これを 1 あいうえお 2 かきくけ 3 さ というふうに関数で一行にしたいのです。 現在は、1~2の間の行数、2~3の間の行数をB列に関数で表示できました。画像参照 あとはA列で数字の行なら、B列の行数分文字列を連結してC列に表示させれば目的達成なのですが、そこから上手い手を思いつけずに、別の表を作って行数を検索値にVLOOKUPで 式を表示させています。(D列) 当たり前ですが文字列として表示されて式としては認識されていません。 これを式として扱える方法はありますでしょうか? それか一行として表示するもっとスマートなやり方はありますでしょうか? 一度VBAで目的は達成しているのですが私以外にメンテできる人物がいないためなるべく関数かエクセルの標準機能をつかってできないかと考えております。

  • エクセル:複数シートの一括処理

    お世話になります。 エクセルで1つのブックに複数のシートがあります。 書式は同じですが行数がそれぞれ違います。 A列で、データが入力されている一番下のセルの次の行から、エクセルの最終行である65536行までの行を全て選択して「削除」をしたいのです。(行の削除)しかも全シート一括で。 A列でデータが入っている一番下のセルがA550だった場合、551行~65536行までを全て選択→削除を行う。 これらの作業をするためのマクロを教えてください。

  • Excel 2007で6万5536行以上のデータ

    Excel 2007では、最大列数が従来の256列から1万6384列に,最大行数が従来の6万5536行から104万8576行に増えたと聞きました。私のExcelは、2007ですが、最大行数は6万5536行のままです。 どうしたら、6万5536行以上のデータを扱えるようになるのでしょうか? 何らかの設定変更で可能になるのでしょうか?

  • エクセルでセルを一括で右詰にする方法はありますか?

    |あ|い|う|え| |か|き|く| | |さ|し| | | |た|ち|つ|て| 上記のように4行4列のセルが並んでいるとして、 これを |あ|い|う|え| | |か|き|く| | | |さ|し| |た|ち|つ|て| のように右詰したいと思ってます。 このデータが200件ほどあり、 できれば自動でできればと思ってますが、 エクセルにはこういった機能はありますでしょうか? あるいはテキストで正規表現を使ったやり方で、 csv形式で上記のような形にする方法でもかまいません。 お知恵をお貸しください。 よろしくお願いいたします。

専門家に質問してみよう