Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

SQL

SQL基礎問題5:複数のマスタテーブルの結合

導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記の記事を参照してください。 お題 【SQL問題】以下のテーブル構成とサンプルデータに基づき、「分類ID,分類名」ごと…

SQL基礎問題4:2つのテーブルの不一致を抽出

導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記の記事を参照してください。 お題 【SQL問題】テーブル「TBLA」には存在せず、テーブル「TBLB」にのみ存在する全ての…

SQL基礎問題3:文字列の一部をキーにして集計

導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使方法については上記を参照。 お題 【SQL問題】列「ID」は「○○-nnn-mmm」の形式です。nnn,mmmは桁数不定です。この時、「○○-nnn」ごとに件…

SQLでExcelの集計を簡単・楽しく - INSTRREV関数

数値だけでなく文字列に対しても演算子や関数が用意されています。 INSTRREV関数 INSTRREV関数使用例 INSTRREV関数 文字関数の INSTRREV関数 を紹介します。 INSTRREV関数の構文は以下のとおりです。 select INSTRREV(開始位置,列名,探したい文字,compare) f…

SQL基礎問題2:文字列nnが偶数の場合のみ抽出

導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記を参照。 お題 【SQL問題】※初級問題なのか?列「ID」は「 ○○-nnn-mmm 」の形式です。(nnnやmmmは数値だが桁数は不…

SQL基礎問題1:最大在庫数を持つ製品の在庫金額

導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記を参照。 お題 1問目のお題はこちら ※P002の在庫数は200となっていますが、150で考えること 【SQL問題】※初級の上「…

SQL基礎問題にチャレンジ

エクセルの神髄さんがtwitter(現X)上で出題されているSQL基礎問題にチャレンジしました。 2025-11-08時点で出題されている10問は一応全て解答することが出来ました。 模範解答についてはエクセルの神髄さんのblog記事をご参照ください。 excel-ubara.com 当b…

ADO.Connection.Openの遅延問題解消

以前に開いているブックに対してのADO.Connection.Openの処理が遅くなる事象を紹介しました。 2025年10月7日時点でこの事象が解消されているようなので簡単にご紹介いたします 遅延問題 この問題が発生した時に下記の記事で事象と対応方法についてご紹介しま…

マクロ実行ブックに対してADO.Connetion.Openが遅い問題への対応策

2025年4月頃からADO.Connection.Openが遅くなる事象が発生しています。 発生している事象と現時点で取れる対応策をご紹介します 問題の詳細 症状 ADO.Connection.Openを開いているブック(マクロ実行ブックを含む)に対して実行すると処理に12秒程度の時間…

Recordsetのデータを分割して取得する方法

前回は「CopyFromRecordsetのデータ取得数」について紹介しました。 www.excellovers.com 今回はもう1つ別の機能を紹介して、Recordsetのデータを簡単に分割して取得する方法を説明します。 コード Pagesizeプロパティ データの分割取得 19件の元データを…

CopyFromRecordsetのデータ取得数

長年使っている機能でも知らないことがあるものですね。 CopyFromRecordsetで取得するデータ数を指定できることを最近になって初めて知りました。 CopyFromRecordsetとは CopyFromRecordsetの引数 第2引数の効果 まとめ CopyFromRecordsetとは ADO.Recorset…

SQLでExcelの集計を簡単・楽しく - 完全外部結合

SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 完全外部結合 完全外部結合の使用例 完全外部結合 完全外部結合は内部結合 の結果にプラスして、結合するテーブルのいずれか片方のテーブルにし…

SQLでExcelの集計を簡単・楽しく - タイトル行での空白と数値の扱い方

ExcelでSQLを使う際に元データで気をつけておく点があります。 タイトル行での空白・数値の制限 空白の制限 数字だけ・先頭に数字の制限 回避方法 タイトル行での空白・数値の制限 Excel x SQLではタイトル行での空白・数値を扱う際に制限があります。 これ…

SQLでExcelの集計を簡単・楽しく - ブックの事前保存と上書き保存許可

SQLをExcelで使用する際にブック・シートの保存・保護で気をつける点があります。 ブックの事前保存 シートの保護解除 上書き保存許可 ブックの事前保存 ExcelでSQLを利用するために使用するADOでは、事前にブックを一度保存しておく必要があります。 シート…

SQLでExcelの集計を簡単・楽しく - EXISTS述語

サブクエリをWhere句で使用する際に使える述語があります。 EXISTS述語 EXISTS述語使用例 EXISTS述語 述語とは結果が真理値になる関数のことです。 EXISTS述語はサブクエリのデータ区切り範囲毎に条件判定を行い、真理値を返します。 EXISTS述語の構文は以下…

SQLでExcelの集計を簡単・楽しく - TRANSFORM句

Excel x SQLにはExcelのピボットテーブルで行うクロス集計のような機能があります。 TRANSFORM句 TRANSFORM句使用例 ピボットテーブルでの例 SQLでの例 TRANSFORM句 SQLでクロス集計を行うにはTRANSFORM句を利用します。 TRANSFORM句の構文は以下のとおりで…

SQLでExcelの集計を簡単・楽しく - TOP句

Where句のように抽出するデータを絞り込む機能が他にもあります。 TOP句 TOP句使用例 TOP句 抽出されたデータの内、「数値」で指定した要素数のみを表示する、「TOP句」です。 TOP句の構文は以下のとおりです select TOP 数値 列名 from テーブル名 TOP句は…

SQLでExcelの集計を簡単・楽しく - 外部結合

SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 外部結合 外部結合の使用例 外部結合 外部結合は内部結合 の結果にプラスして、片方のテーブルにしかない要素を全て抽出します。 外部結合の構文…

SQLでExcelの集計を簡単・楽しく - 内部結合

SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 内部結合 内部結合の使用例 内部結合 内部結合はクロス結合で作成される全行×全行の組み合わせの内、指定した2つの列の要素が一致する行のみ抽出…

SQLでExcelの集計を簡単・楽しく - クロス結合

SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 クロス結合 クロス結合使用例 クロス結合 クロス結合は「直積」という指定した2つのテーブルの全行の全ての組み合わせを返します。 クロス結合の…

SQLでExcelの集計を簡単・楽しく - 相関サブクエリ

Excel関数をネストするかのようにSELECT文も同じようにネストすることが出来ます。 スカラ・サブクエリ 相関サブクエリ 相関サブクエリの内容 スカラ・サブクエリ サブクエリでご紹介したようにサブクエリはExcel関数で言うところのネストに該当します。 ま…

SQLでExcelの集計を簡単・楽しく - SQL文の記載順序と実行順序

SQL文は複雑な処理になってくると文章が長くなってきます。 SQL文は記載する順番にルールがあります。 SQL文の記載順序 SQL文の実行順序 SQL文の記載順序 SELECT FROM WHERE GROUP BY HAVING ORDER BY SQL文の実行順序 SQLは書かれている順番に実行されるわ…

SQLでExcelの集計を簡単・楽しく - ASキーワード

テーブルや列名に別名をつけることが出来ます。 ASキーワードの基本構文 ASキーワード使用例 ASキーワードの基本構文 ASキーワードの基本構文は以下のとおりです。 select 列名 as 別名 from テーブル名 as 別名 列名やテーブル名の後に「as」を記載して、そ…

SQLでExcelの集計を簡単・楽しく - ANY述語

サブクエリをWhere句で使用する際に使える述語があります。 ANY述語 ANY述語使用例 ANY述語 述語とは結果が真理値になる関数のことです。 ANY述語の構文は以下のとおりです。 select 列名 from テーブル名 where 列名 比較演算子 ANY (サブクエリ) ANY述語は…

SQLでExcelの集計を簡単・楽しく - ALL述語

サブクエリをWhere句で使用する際に使える述語があります。 ALL述語 ALL述語使用例 ALL述語 述語とは結果が真理値になる関数のことです。 ALL述語の構文は以下のとおりです。 select 列名 from テーブル名 where 列名 比較演算子 ALL (サブクエリ) ALL述語は…

SQLでExcelの集計を簡単・楽しく - サブクエリ

Excel関数をネストするかのようにSELECT文も同じようにネストすることが出来ます。 ネストとは Excel関数では SQLでは サブクエリ使用例 ネストとは Excel関数では Excel関数で言うネストとは、関数の中に別の関数を挿入して、1つの関数式で複数の処理を実行…

SQLでExcelの集計を簡単・楽しく - UNION演算子

SQLには複数のテーブルのデータを1つにまとめる集合演算子があります。 UNION演算子 ALLオプション UNION演算子使用例 UNION演算子 論理演算子の UNION演算子 を紹介します。 UNION演算子の構文は以下のとおりです。 select 列名 from テーブル名 UNION [ALL…

SQLでExcelの集計を簡単・楽しく - IMP演算子

主にSQLのフィルタ機能Where句で使用する論理演算子を紹介します。 www.excellovers.com IMP演算子 IMP演算子使用例 IMP演算子 論理演算子の IMP演算子 を紹介します。 IMP演算子の構文は以下のとおりです。 select 列名 from テーブル名 where 条件式A IMP …

SQLでExcelの集計を簡単・楽しく - TRUEとFALSEの値

ExcelにおいてTRUEを数値に置き換えると「1」。 FALSEは「0」になります。 Excel x SQLにおいてはどうでしょうか? Excelの場合 Excel VBAの場合 Excel x SQLの場合 まとめ 真偽値の値 数値の真偽値判定 Excelの場合 上述の通り、ExcelにおいてはTRUEは「1」…

SQLでExcelの集計を簡単・楽しく - LIKE述語

主にSQLのフィルタ機能Where句で使用する述語を紹介します。 www.excellovers.com LIKE述語 LIKE述語使用例 完全一致 部分一致 LIKE述語 述語とは結果が真理値になる関数のことです。 LIKE述語の構文は以下のとおりです。 select 列名 from テーブル名 where…