Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10 Home : 指定なし)
Excelのシート内全体から、クロス抽出することは出来ますか。
投稿日時: 21/04/20 15:33:45
投稿者: tommy6

初めまして。マクロが全く分からず申し訳ありませんが質問します。
 
Excelのシート1内全体から、日付と文言でクロス抽出することは出来ますか。
 
【シート1】ダウンロードデータ
四半期連結損益(及び包括利益)計算書
␣  2020/11/末 2020/8/末  2020/5/末  ・ ・ ・
売上   100 90 80
原価   50 45 40
利益   50 55 40



 
連結損益(及び包括利益)計算書
␣  2020/2/末  ・ ・ ・
売上 120
原価 55
利益 65



 
四半期連結貸借対照表
␣  2020/11/末 2020/8/末   2020/5/末  ・ ・ ・
現金 100 120 90
借入金 30 33 40



 
連結貸借対照表
␣   2020/2/末  ・ ・ ・
現金    95
借入金    30



 
【シート2】(入力済み雛型)←ここへマクロ等で自動的に抽出したいです。
␣       売上  原価  利益  現金  借入金  ・ ・ ・
2020/11/末
2020/8/末
2020/5/末
2020/2/末


回答
投稿日時: 21/04/20 15:55:39
投稿者: WinArrow
投稿者のウェブサイトに移動

説明内容が理解でいないところがあります。
 
クロス集計とは、リスト形式のデータをマトリクス表にすることを指します。
掲示の表は、既にマトリクスになっていると思われます。
 
端的に考えて行と列をChangeするだけのような感じを受けます。
複写元のセル範囲を選択してコピー
新しいシートで、「形式を選択して貼付け:「行と列を入れ替える」という操作でできないか
試してみましょう。
 
尚、日付?と説明したいますが、本当に日付ですか?
「末」という文字列が入っていると日付とは認識されないと思います。
 

回答
投稿日時: 21/04/20 16:35:30
投稿者: WinArrow
投稿者のウェブサイトに移動

>マクロが全く分からず
 
一般機能の関数でならば、対応できるのですか?

投稿日時: 21/04/20 18:08:57
投稿者: tommy6

>WinArrowさん
ご検討ありがとうございます。
 
「形式を選択して貼付け:「行と列を入れ替える」という操作で試行錯誤してみます。
  
日付に関しましては、記載を省略してしまいました。
実際は文字列ではなく、それぞれの月末になります。
 
関数も試行錯誤していますが、それぞれの範囲を指定したやり方になってしまいそうです。
一番の問題はこのダウンロードデータが企業ごとにあり、
行と列が定まっていないので、作業が膨大になってしまうことです。
 
ある程度形ができてしまえば、ツールを使って反復的な処理を行う予定です。

回答
投稿日時: 21/04/21 09:25:43
投稿者: sk

引用:
関数も試行錯誤していますが、それぞれの範囲を指定したやり方になってしまいそうです。
一番の問題はこのダウンロードデータが企業ごとにあり、
行と列が定まっていないので、作業が膨大になってしまうことです。

いきなり[シート2]のようなレイアウトに変換することより、
一旦第1正規形のテーブルに変換する(そういうマクロを作成する)ことを
目指された方がよさそうな気が。
(あとはピボットテーブルを使えば済む問題)

トピックに返信