0

表のリスト化で、一部の処理に時間がかかります。
データの鮮度が命の処理なので、最速にしたいです。
お知恵を拝借させてください。

 

処理の概要

  • BEFORE:10列×3行/件
  • AFTER :30列×1行/件
  • Chromeで全選択してExcelに貼り付けて、← 速度的に有利な方法があれば、ついでに乗り換えたい
    同ファイル内の別シートにリスト化する ← ここが質問の焦点

 

表のボリューム感

  • 最大で500件程度

 

リスト化

【神Excel】8個の基本パターンで完全習得「リスト形式」の教科書 - わえなび ワード&エクセル問題集 waenavi
https://www.waenavi.com/entry/20180801/1533127071

 

経緯

  • ここでアドバイスをいただいた案件の一部

https://winactor.com/questions/question/excelで5シートの10列xn行を1シートに高速に連結したい/

  • このしくみはびゅんびゅん快適に動いていた
  • しばらく休止していて、最近守備範囲を広げて再稼働させたところ
  • 同じ形式の表を10個扱う(同じしくみの使い回し)
  • 扱う表の数は休止前と変わらず(便宜的に10とした、実際は6)

 

困っているポイント

  • 2つの表でリスト化に1分以上かかるようになった(ほかは瞬きするうちに終わってる)
  • この2つの表はほかよりデータ量が多い(ほかが20件弱なのに対し、2つの表は200件前後)
  • リスト化は事前準備に過ぎず、時間をかけたくない(一瞬で過ぎ去りたい)

 

フロー

  • 以前からの構成:3行ずつを代入で転記 × 件数分繰り返し

10列
10列
10列

10列10列10列

  • 今回試した構成:3行おきの1行目分を代入で転記、2行目分、3行目分 → 時短効果はなかった

Aブロック
Aブロック

AブロックBブロック
AブロックBブロック

AブロックBブロックCブロック
AブロックBブロックCブロック

  • やはり配列が速いのだろうか
  • この目的で、WinActorノートは競争力があるだろうか

 

近そうなスレッド(「並べ替え」「転記」でヒットしたもの)

https://winactor.com/questions/question/エクセルの行を並び替え/

https://winactor.com/questions/?q=Excelからデータを取得(コピー)し、別のExcelへ貼り付け・整理する方法

https://winactor.com/questions/?q=Excelデータの転記について

https://winactor.com/questions/question/日毎に列が変わるexcelの転記/

https://winactor.com/questions/question/毎月ごとに列が変わるexcelの転記/

 

逆引きマニュアル

https://winactor.com/questions/question/発見!winactor逆引きマニュアル/

Web アプリからExcel ファイルへ表の転記

IEの例ではあるものの、表を一括で取得している

テーブルスクレイピングで単ページ分も取得可能
テキストファイルの経由は、現行のコピペより時間がかかりそう

https://winactor.com/questions/question/操作テーブルスクレイピングを作ってみた(ver6と7/

Excelにダイレクトに取得するWebクエリも重めな印象
検索でURLが変わらないので、採用できないと思い込んでいる

 

Google先生 → 当たらずとも、有益な情報がヒット

https://www.google.com/search?q=2行で1件+リスト化

Excelのマトリクス表をリスト表へ変換したい - 今日を乗り切るExcel研究所
https://www.shegolab.jp/entry/excel-macro-flatten-matrix

【エクセル時短】クロス集計表をリスト形式に戻す方法。元データがなくてもピボットテーブルウィザードで解決! | できるネット
https://dekiru.net/article/20383/

Excel定型業務自動化への第一歩 Power Queryでリスト→◯×表(マトリックス表)変換:Tech TIPS - @IT
https://atmarkit.itmedia.co.jp/ait/articles/2108/06/news021.html

キーワード変更 → それらしき情報がヒット

https://www.google.com/search?q=1レコード+n行+リスト化

PowerQueryでも攻略できる模様

1レコード複数行の表をリスト形式に変換する【Excel PowerQuery】|EXCELドカタ|note
https://note.com/excel_dokata/n/n1eeedb785aab

以前にも教わったかもしれない、、
作っとけば一瞬なのだろうか
重そうな予感

INDEXとROW、シンプル

INDEX関数でn行おきにデータを抽出する-ROW関数:Excel(エクセル)の関数・数式の使い方/検索・行列
https://www.relief.jp/docs/excel-get-data-every-n-rows-index-function.html

これも以前に教わったかも、、
評判の良い関数だけ
速そうな予感
早速試す予定

 

環境

  • Windows10
  • WinActor7211
  • Excel2013
pp 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。