VBA
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記の記事を参照してください。 お題 【SQL問題】以下のテーブル構成とサンプルデータに基づき、「分類ID,分類名」ごと…
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記の記事を参照してください。 お題 【SQL問題】テーブル「TBLA」には存在せず、テーブル「TBLB」にのみ存在する全ての…
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使方法については上記を参照。 お題 【SQL問題】列「ID」は「○○-nnn-mmm」の形式です。nnn,mmmは桁数不定です。この時、「○○-nnn」ごとに件…
数値だけでなく文字列に対しても演算子や関数が用意されています。 INSTRREV関数 INSTRREV関数使用例 INSTRREV関数 文字関数の INSTRREV関数 を紹介します。 INSTRREV関数の構文は以下のとおりです。 select INSTRREV(開始位置,列名,探したい文字,compare) f…
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記を参照。 お題 【SQL問題】※初級問題なのか?列「ID」は「 ○○-nnn-mmm 」の形式です。(nnnやmmmは数値だが桁数は不…
導入記事にある通りエクセルの神髄さんのSQL基礎問題にチャレンジしていきます。 www.excellovers.com ExcelでSQLを使う方法については上記を参照。 お題 1問目のお題はこちら ※P002の在庫数は200となっていますが、150で考えること 【SQL問題】※初級の上「…
エクセルの神髄さんがtwitter(現X)上で出題されているSQL基礎問題にチャレンジしました。 2025-11-08時点で出題されている10問は一応全て解答することが出来ました。 模範解答についてはエクセルの神髄さんのblog記事をご参照ください。 excel-ubara.com 当b…
以前に開いているブックに対してのADO.Connection.Openの処理が遅くなる事象を紹介しました。 2025年10月7日時点でこの事象が解消されているようなので簡単にご紹介いたします 遅延問題 この問題が発生した時に下記の記事で事象と対応方法についてご紹介しま…
はじめに Excelのバージョンが365や2024等の新しいものではスピルという機能を利用した新しい関数使用可能です。 スピルという機能は『数式によって複数の値が生成され、その値が数式を入力したセルの隣のセルに配置されることです』 support.microsoft.com …
2025年4月頃からADO.Connection.Openが遅くなる事象が発生しています。 発生している事象と現時点で取れる対応策をご紹介します 問題の詳細 症状 ADO.Connection.Openを開いているブック(マクロ実行ブックを含む)に対して実行すると処理に12秒程度の時間…
昨日まで普通に使えていたマクロで、ブックの保存時にエラーが出るようになった、と問い合わせが。 マクロ利用者は「何もしていない」と供述しているようです。 フォルダ名に使用できない文字 上書きは可能 フォルダ名に使用できない文字 実際の処理を確認し…
前回は「CopyFromRecordsetのデータ取得数」について紹介しました。 www.excellovers.com 今回はもう1つ別の機能を紹介して、Recordsetのデータを簡単に分割して取得する方法を説明します。 コード Pagesizeプロパティ データの分割取得 19件の元データを…
長年使っている機能でも知らないことがあるものですね。 CopyFromRecordsetで取得するデータ数を指定できることを最近になって初めて知りました。 CopyFromRecordsetとは CopyFromRecordsetの引数 第2引数の効果 まとめ CopyFromRecordsetとは ADO.Recorset…
経理ではデータを集計する際に実際の暦の「年」ではなく、事業「年度」でデータを集計する必要があります。 会計ソフトから出力したデータに年度が記載されていれば問題ないんですが、自分の会社で使用している会計ソフトのデータには年度が記載されていませ…
きっかけ タイトルのような事象が発生して困っていた。 きっかけは以下のようにWorksheet型の変数「ws」にWorksheetを代入している状態で、ローカルウィンドウの「ws」を展開しようとして「+」をClickしたところ、突如Outlookのセットアップ画面が起動した…
仕事でこのような資料を作成することがある。 丸数字を使用して項目の関連性を表示するようにしている。 ただ丸数字を記入するのって案外めんどくさい。 そんな隙間需要を満たすことが出来るのもVBAの強み。 丸数字ジェネレーターを作成してみました。 完成…
メモ・旧コメントがシート内にたくさん増えてくると目障りになってきますね。 そんな時に簡単にメモ・旧コメントを非表示にする方法を紹介します。 メモの一括非表示 メモのインジケータを非表示 DisplayCommentIndicatorプロパティ メモの一括非表示 全ての…
SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 完全外部結合 完全外部結合の使用例 完全外部結合 完全外部結合は内部結合 の結果にプラスして、結合するテーブルのいずれか片方のテーブルにし…
ExcelでSQLを使う際に元データで気をつけておく点があります。 タイトル行での空白・数値の制限 空白の制限 数字だけ・先頭に数字の制限 回避方法 タイトル行での空白・数値の制限 Excel x SQLではタイトル行での空白・数値を扱う際に制限があります。 これ…
SQLをExcelで使用する際にブック・シートの保存・保護で気をつける点があります。 ブックの事前保存 シートの保護解除 上書き保存許可 ブックの事前保存 ExcelでSQLを利用するために使用するADOでは、事前にブックを一度保存しておく必要があります。 シート…
サブクエリをWhere句で使用する際に使える述語があります。 EXISTS述語 EXISTS述語使用例 EXISTS述語 述語とは結果が真理値になる関数のことです。 EXISTS述語はサブクエリのデータ区切り範囲毎に条件判定を行い、真理値を返します。 EXISTS述語の構文は以下…
Excel x SQLにはExcelのピボットテーブルで行うクロス集計のような機能があります。 TRANSFORM句 TRANSFORM句使用例 ピボットテーブルでの例 SQLでの例 TRANSFORM句 SQLでクロス集計を行うにはTRANSFORM句を利用します。 TRANSFORM句の構文は以下のとおりで…
Where句のように抽出するデータを絞り込む機能が他にもあります。 TOP句 TOP句使用例 TOP句 抽出されたデータの内、「数値」で指定した要素数のみを表示する、「TOP句」です。 TOP句の構文は以下のとおりです select TOP 数値 列名 from テーブル名 TOP句は…
SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 外部結合 外部結合の使用例 外部結合 外部結合は内部結合 の結果にプラスして、片方のテーブルにしかない要素を全て抽出します。 外部結合の構文…
SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 内部結合 内部結合の使用例 内部結合 内部結合はクロス結合で作成される全行×全行の組み合わせの内、指定した2つの列の要素が一致する行のみ抽出…
SQLにはExcel関数のVLOOKUP関数のように複数のデータをマッチングして表示する「結合」という機能があります。 クロス結合 クロス結合使用例 クロス結合 クロス結合は「直積」という指定した2つのテーブルの全行の全ての組み合わせを返します。 クロス結合の…
Excel関数をネストするかのようにSELECT文も同じようにネストすることが出来ます。 スカラ・サブクエリ 相関サブクエリ 相関サブクエリの内容 スカラ・サブクエリ サブクエリでご紹介したようにサブクエリはExcel関数で言うところのネストに該当します。 ま…
SQL文は複雑な処理になってくると文章が長くなってきます。 SQL文は記載する順番にルールがあります。 SQL文の記載順序 SQL文の実行順序 SQL文の記載順序 SELECT FROM WHERE GROUP BY HAVING ORDER BY SQL文の実行順序 SQLは書かれている順番に実行されるわ…
テーブルや列名に別名をつけることが出来ます。 ASキーワードの基本構文 ASキーワード使用例 ASキーワードの基本構文 ASキーワードの基本構文は以下のとおりです。 select 列名 as 別名 from テーブル名 as 別名 列名やテーブル名の後に「as」を記載して、そ…
サブクエリをWhere句で使用する際に使える述語があります。 ANY述語 ANY述語使用例 ANY述語 述語とは結果が真理値になる関数のことです。 ANY述語の構文は以下のとおりです。 select 列名 from テーブル名 where 列名 比較演算子 ANY (サブクエリ) ANY述語は…