- ベストアンサー
エクセルでこんなこと出来ますよね
いつも大変大変、お世話になっております。 以下のような50件のデータがあります。 そのままエクセルにはったので縦にずら~と以下のようになってます。 サイト名○○ URL http://~ 状況 ○ OR × 備考: (二行あいてる状態) サイト名○○ URL http://~ 状況 ○ OR × 備考:~ (これが50個えんえん続きます) これを、以下のように作り替えたいのです。 A B C D サイト名 URL名 状況 備考 1 ○○○ ○○○ ○ ~ 2 ○○○ ○○○ ○ ~ 3 ○○○ ○○○ × ~ 4 ○○○ ○○○ ○ ~ ↓ ↓ 50サイト分 まず、途中に行の頭に◆がついてたり、途中--------- となっているところがあったので 自分なりに考えて”置き換え”で削除しデータを整えたつもりです。 そして”フィルタ オプションの設定”から、例えば、http://を含む~ を抽出しようとしましたが、やり方や手順が間違っているのか 出来ませんでした。 間に入ってる2行の列をすべて削除してからのほうがいいのでしょうか?データの並び方の順番などは規則的で、何らかの関数で 出来るのかもしれませんが、まったくわかりません。 おそらく、エクセル君を使い慣れている方にとっては 簡単にできるようなことのような気もしますが.... もし、みなさんならどうやりますでしょうか? どなたたかのお知恵をお貸し下されば幸いです! よろしくお願い致します。 (わかりにくくてすいません)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こういう場合、私は秀丸かPerlなどを使って、正規表現でCSV形式やタブ区切りのデータにしておき、 その後EXCELに貼り付けます。 秀丸はシェアウェアですが、ライセンスがあるか問われるだけで使い続けることができます。 やり方は、まず、置換で正規表現を使用にチェックを入れ、「\n\n\n」(改行3個連続)を出てきてない文字列に全置換し(「♪★♪」とか)、 次に「\n」(改行)を「\t」(タブ)に変換します。 そしていらない文字列(サイト名や状況などの文字)を空欄に全置換し、消します。 ここで「♪★♪」を「\n」に置換します。 そして最後にデータを全部選択し、コピーペーストすれば、タイトル行以外はあっという間に貼り付けられます。 ただ、50件程度なら手でやった方が速いです。 ここで回答待っている間に終わってしまいますよね? だいたい200件ぐらいデータが超えるとこういう方法を使ったほうが速く終わりますね。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 別のシートに出す場合:(同じシートなら、Sheet1!は必要ありません。) =OFFSET(Sheet1!$A$1,MOD(COLUMN(A1)-1,4)+(ROW(A1)-1)*6,0) データの起点は、A1 になっていますが、タイトルがある場合とかで、始まりが、A2 だったら、Sheet1!$A$2 になります。 これは、一種の数列の問題ですね。
お礼
回答ありがとうございます。お返事遅くなりすいませんでした。 結局お教え下さった物は、わたしの知識不足からかうまく活用出来ず 考えてる時間が無く手作業で行ってしまいました。 ご提案下さった式はこんど時間に余裕がでたときに参考にし よーく見て、改めて考えて、活用したいです。 お時間いただき、ありがとうございました。 みなさんへポイントをしたいのですが、悩みまして 先着順に致しました。ごめんなさい、ありがとうございました。
- zap35
- ベストアンサー率44% (1383/3079)
もし元データ(Sheet1とします)が1行目から始まるのであれば、別シートのA2セルに以下の式を貼り付けて、他のセルにコピーしてみてください。 =INDIRECT("Sheet1!A" & (ROW()-2)*6+COLUMN()) 条件が違うなら上記サンプルを参考に式を変更してください。 (行、列番号の組み合わせで同じようにできますよ)
お礼
回答ありがとうございます。お返事遅くなりすいませんでした。 結局、お教え下さった物は、わたしの知識不足か、うまく活用することが出来ず、考えてる時間が無いので手作業で行ってしまいました。 ご提案下さった式は、こんど時間に余裕がでたときに参考にし 改めて考えて、活用したいです。 お時間いただき、ありがとうございました。
お礼
回答ありがとうございます。お返事遅くなりすいませんでした。 秀丸というのは名前は聞いた事ありますが使った事はありませんでした。 なるほど~今後、膨大な量のデータを扱う必要が出てきた際に 勉強させて頂きます!お時間いただき、ありがとうございました。