SQL
以前にADODB-SQLでクロス集計を行う方法を色々ご紹介した。 www.excellovers.com 今回新たにクロス集計のネタに遭遇したので、調べた結果を残しておく。 やりたいこと SQLでクロス集計 行に複数項目のPivotのためのSQL 列に複数項目は出来ない 「+」で項目…
表の結合。便利ですよね。 Excelではvlookup等の関数を使用して結合することが多いです。 今回は関数ではなくVBAでSQLを使用して表の結合を行いましたが、その際に2つではなく3つの表の結合をする際にちょっと詰まってしまったので備忘録。 例題 エラー症状 …
ExcelでADODBを使用するときはVBEでSQL文を書きます。 が、正直めんどくさいんですよね、VBEでSQL文書くの。 そこでA5M2の登場です。 A5M2ではSQL文を入力補完機能で入力補助を受けながら書くことが出来ます。 今回はSQL文をA5M2で作成・管理しつつ、Excelか…
例えば、 「血液型って何種類あるんだよ~」 となった時にピボットテーブルや重複の削除機能を利用するのが普通かと思います。 しかしそんなあなたにSQLでの集計をお勧めしたい! しかも一々コードを書く必要はありません! ショートカットキーでフォームを…
VBAでSQLを使用したクロス集計表を作成する当シリーズ。 www.excellovers.com 前回で終了予定でしたが、前回の最後にちょろっと言っていた箇所が対応できたので予定外のシリーズ追加です。 では前回何を言っていたかというと 列、行方向の合計がない これの…
SQLでシートの統合とクロス集計を行う今回のシリーズ。 「男性」「女性」2つのシートを統合する 統合したデータを元にクロス集計を行う 完成したデータをシートに貼付け 前々回はシートの統合、前回グループ化を行いました。 www.excellovers.com www.excell…
SQLでシートの統合とクロス集計を行う今回のシリーズ。 「男性」「女性」2つのシートを統合する 統合したデータを元にクロス集計を行う 完成したデータをシートに貼付け 前回はシートの統合を行いました。 www.excellovers.com 今回はクロス集計について書く…
今までにもVBAからSQLを使用してSelect文で集計は行ってきた。 今回始めて表の統合とクロス集計をSQLで行ったので備忘録。 お題目 コード ADODBの使用準備 UNIONクエリ ALLオプション 実行結果 まとめ お題目 お題はこのようなデータを使用します。 ※データ…
以前にこの様な記事を公開した。 www.excellovers.com どうやら実現できてヒャッハーと報告しただけで終わっていたようなので、今更ながらコードの紹介。 完成品 コード 集計表があるシートのイベント 標準モジュール シートイベント 標準モジュール(DoubleC…
シリーズ前回ではシートのデータを各機能に取り込み、そのまま別シートに貼り付ける動作を体感してみた。 www.excellovers.com 今回は取り込んだデータに絞り込みをかけた上で、別シートに貼り付ける動作を体感してみた。 6つの方法 時間計測関数 改 処理時…
SQLite For ExcelにはADODB.RecordsetにあるようなCountプロパティがない。 ところがちょっとした工夫でデータ件数を取得する方法を見かけたので備忘録。 従来の対応 サブクエリ化 なぜレコード件数を取得するかと言うと、SQLiteから取得したデータを配列に…
前回は5つの方法で表データを操作してみた。 www.excellovers.com 次の抽出に進む前にもう1つ集計方法を追加してみる。 SQLite For Excel コード 処理時間 まとめ SQLite For Excel 当blogではおなじみSQLite For Excelを候補に加えます。 今回の事例のよ…
先日SQLでデータを抽出するユーザー定義関数SQLSearchを作成した。 www.excellovers.com その後テストした際に追加したいと思った機能を追加してみた。 その際に風柳さん@furyutei には貴重なアドバイスを頂きました。 ありがとうございます。 例えば ADODB.…
Office365やExcel2019で新しく搭載された「スピル」と言う機能があります。 スピル機能を使うと複数の答えを返す関数を従来よりも圧倒的に簡単にセルに展開することが出来ます。 この機能と相性が良いのでは思っていた、ExcelのデータをSQL文で集計した結果…
以前にSQLのFrom句にテーブル名を指定する方法を紹介した。 www.excellovers.com 上記とは別の方法をtwitterでフォローさせて頂いている方が以前に紹介されていたのを見かけたので備忘録として記事にさせて頂く。 コード select * from [Range("個人情報").l…