
No.5ベストアンサー
- 回答日時:
No3です
みなさんの回答の意味が、ほとんど伝わってはいないようなので・・・
元データが何行あるのか知りませんけれど、補足を見る限りは行単位でよさそうなので、
1)A列の前に新しく列を追加
2)不要な行の新しい列に「1」などを記入(なんでも良いです)
3)新しいA列を選択した状態で、「検索と選択」で「定数」を指定
4)削除で「行全体」を削除
以上で、抽出したい行だけ残ることになります。
※ 1万行とかあるなら別ですけれど、100行、200行のレベルなら数分もあれば終わるでしょう。
※ 縦横を変換した表になさりたければ、関数で参照設定することでも可能です
あるいは、こんなページからと言うのなら、
https://swimming-info.net/prefectures/tokyo/citi …
元のページの方が文書構造が明確になっているので、直接「スクレイピング」で抽出してしまうような方法も考えられると思いますけれど、(多分)質問者様にはハードルが高いのではないかと想像します。
ご丁寧な解説、ありがとうございます。
ご記載いただいたURLのサイトから、全国分コピペした元データ(約2000件)があって、その処理に頭を抱えてしまったのです。
行間に規則性がないため、なかなか上手くいかずにいました。
お教え頂いた方法で、Tryしてみます。
No.6
- 回答日時:
No5です。
全てが補足でご提示のような形式のデータであるなら、関数でも抽出可能と思います。
(HTMLソースから抽出したほうが、文書構造が確かなのですが、すでに文字だけがA列にあるようですので)
・一つのデータセットには、必ず住所データがあり「〒」で始まっている
・「〒」の1行前は、必ず「施設名称」になっている
・「休館日」、「営業時間」は無い場合もあるが、ある時は「休館日」、「営業時間」で始まっている
仮に、上記が成立するとした場合の、関数での方法をご参考までに以下に記しておきます。
A列に元データがあるとして、これをE:H列に、名称、住所、休館日、営業時間の順に抽出するとします。
作業用に、C、D列を利用します。
以下の要領で、D1:H1セルに関数式を入力します。
1)D1セルに
=IFERROR(AGGREGATE(15,6,ROW(A$1:A$16000)/(LEFT(A$1:A$16000,1)="〒"),ROW(A1)),"")
(D列には1文字目が〒の行番号が抽出されます)
2)E1セルに
=IF(D1="","",INDEX(A:A,D1-1))
3)F1セルに
=IF(D1="","",INDEX(A:A,D1))
4)G1セルに
=IFERROR(INDEX(A:A,MATCH("休館日*",OFFSET($A$1,D1,0,IFERROR(D2-D1,9)),0)+D1),"")
5)H1セルに
=IFERROR(INDEX(A:A,MATCH("営業時間*",OFFSET($A$1,D1,0,IFERROR(D2-D1,9)),0)+D1),"")
上記のD1:H1セルを2000行迄フィルコピーすれば良いのですが、2000行あるとかったるいので・・
6)C1セルに1を入力し、C1を選択した状態で、「ホーム」-「編集」-「フィル」-「連続データの作成」で表示されるダイアログで、
「列」、「加算」、増分値1、停止値2000
としてOKをクリック。
これにより、1~2000までの値がC1:C2000に入力されます。
(フィルコピーを楽にするためなので、7)が終われば削除可能です)
7)D1:H1セルを選択した状態で、選択範囲右下にでるフィルハンドルをダブルクリックします。
(これによりD1:H1が2000行迄フィルコピーされます)
計算に時間がかかるので、結果が出るまでに少々時間がかかる可能性があります。
※ A列のデータ範囲を16000行迄と仮定してあります。(2000件×8行程度?)
なるべく小さいほうが計算負荷が少ないので、対象が16000行もない場合は式中の「A$1:A$16000」を調整してください。
※ 作業用のD列を削除したい場合は、E:H列を選択し「コピー」-「値をペースト」で固定値化してから、D列を削除してください。
※ 文章で書くと大変長いですが、関数式をコピペで入力するなら、2、3分で終わる作業と思います。
No.4
- 回答日時:
手作業での作業手順を箇条書きにして、
誰でも確実にデータ抽出できるようにしてみてください。
そのうえで考えると良いでしょう。
ロジカルな問題は、こうやって考えると楽に解けます。
No.3
- 回答日時:
こんにちは
ご質問文からは具体的に何をしたいのかさっぱりなので、一般的な考え方を・・
1)抽出したい「必要項目」はどのようにすれば、論理的に
特定できるのかを明確にする
2)テストデータなどで、1)の方法で問題ないかを確認
3)OKであれば、その方法で抽出する
(VBAに限らずとも、関数等でも良いのではないでしょうか?)
>どうすれば出来ますか?
VBAで処理する必要があって、質問者様がVBAを作成できないのなら、まずはVBAのお勉強から始める必要があるのかもしれません。
あるいは、依頼サイトなどで作成を依頼するという方法もあります。
いずれにしろ、「何をどうしたいのか」を明確に説明できる状態になっていないと、進まないと思われます。
ご回答ありがとうございます。
画像の添付がなかなか出来ないので、
文字で補足をアップしました。
ご覧になっていただけますでしょうか?
ご教授可能であれば宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- その他(ソフトウェア) Googleフォーム、効率的な入れ方 2 2022/10/03 22:44
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- その他(Microsoft Office) VBA CSV出力について 3 2023/04/19 14:14
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- その他(IT・Webサービス) google サイトの目次表示について 1 2023/06/17 23:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
Excelについて質問です。 セル...
-
C#で、テキストボックスの入力...
-
章句って何ですか? しょうく?
-
テキストファイルのデータ区切...
-
CSVの定義
-
エクセルの区切り位置の設定方法
-
メールのcsv添付ファイルの種類...
-
WORDで改ページすると時々グレ...
-
マクロを使ってフォルダー内に...
-
カンマ区切りのデータを処理す...
-
メモ帳からエクセルにセル区切...
-
正規表現:対応する文字列A~文...
-
VB2005のTextBoxでカン...
-
CSVファイルの保存形式について
-
正規表現の記載方法
-
Excel 2002 をtxt形式にして書...
-
[.NET2.0] メニューに区切り線
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
マクロを使ってフォルダー内に...
-
EXCELからCSVにすると余計なカ...
-
Excelについて質問です。 セル...
-
CSVの定義
-
[VBA][Excel]クリップボードか...
-
WORDで改ページすると時々グレ...
-
カンマ区切りの数字をCSVフ...
-
C#で、テキストボックスの入力...
-
データにカンマが入ったCSVデー...
-
VBAでtxtファイルを読み込む際...
-
カンマ区切り
-
VB2005のTextBoxでカン...
-
メモ帳からエクセルにセル区切...
-
JPY ¥1,500.00は日本円でお幾ら?
-
テキストファイルからReadLine...
-
カンマ区切りでないテキストをc...
-
エクセルにペーストする際にカ...
-
パス区切りの文字について
おすすめ情報
画像が貼れないので、データの一部を載せます。
↓
ーーーーーーーーーーーーーーーーーーここからーーーーーーーー
アリススポーツクラブ/ジュニアスイミング
〒165-0024 東京都中野区松が丘1丁目33?15
ベビースイミング対応駐車場あり体験ありこだわり水質ジャグジーあり
休館日:毎週金曜日、特別休館日(お盆、年末年始)
営業時間:月~木 9:30~22:30 土 9:30~21:00 日/祝 9:30~19:00
詳細をみる
ーーーーーーーーーーーーーーーーーーーーここまでーーーーーーーーーーーーー
以上のようなデータが、A列に入っている状態のエクセルです。
それを、
店舗名 住所 休館日 営業時間
という風に取り出したいのです。
出来ないでしょうか?