目次
1. テーブルへの領域
ホームページ トピック excel Excel SQL クエリでの「テーブル」の使用法の概要

Excel SQL クエリでの「テーブル」の使用法の概要

Apr 06, 2022 pm 05:36 PM
excel

この記事では、excel に関する関連知識を提供します。主に、リージョン テーブル、クロスワークブック テーブルなど、SQL クエリでのテーブルの使用方法を紹介します。皆様のお役に立てれば幸いです。

Excel SQL クエリでの「テーブル」の使用法の概要

関連する学習の推奨事項: excel チュートリアル

今日は、SQL ステートメント内の Excel テーブルについて説明します。

1. テーブルへの領域

Excel ワークシートとデータベース データ テーブルには多くの違いがあります。最も重要な点は、データベース データ テーブルは行と列で構成されるものとして理解できるのに対し、データベース データ テーブルは行と列で構成されるものとして理解できることです。 Excel ワークシートは一連のセルで構成されており、これらのセルには A1 または R1C1 という固有のアドレス表現方法があり、A2:H8 のようにデータが接続されたセル範囲を形成することもできます。

それでは、Excel ワークシートの一部のみを計算する必要がある場合、それを SQL でどのように表現すればよいのでしょうか?

この種の問題は非常に一般的です。

たとえば、多くの人は Excel のタイトル行が表の 1 行目ではなく 2 行目にあります...

下図に示すように

Excel SQL クエリでの「テーブル」の使用法の概要

現時点では、Excel ワークシート全体ではなく、フィールド名を使用してデータを処理しやすくするために、列 A2:F のセル範囲を計算したいと考えています...

別の例、a テーブルの内側と外側に 2 つ以上の「テーブル」があります... この文は何を意味しますか?

下の図を参照してください

Excel SQL クエリでの「テーブル」の使用法の概要

図に示されているテーブルには、「教師テーブル」と「生徒テーブル」の両方があります。 SQL で A2:D8 の教師テーブル データを参照および計算したいだけです...

... Excel の SQL は、実際にはワークシートのセル範囲を「テーブル」として使用することをサポートしています。

上の図に示されている問題の場合、SQL は次のように記述できます:

SELECT 姓名,学科 FROM [数据表$A2:D8]
ログイン後にコピー

クエリの結果は次のとおりです:

Excel SQL クエリでの「テーブル」の使用法の概要

# #最初のケースでは、データがセル A2 で始まることはわかっていますが、列 F のどのセルが終了するかはわかりません。SQL は次のように記述できます。

SELECT 姓名,爱好 FROM [学生表$A2:F]
ログイン後にコピー

さらに、SQL リファレンスが必要な場合は、テーブルの列 D:G 全体のデータを計算するには、SQL を次のように記述できます。

SELECT * FROM [学生表$D:G]
ログイン後にコピー

Excel ワークシート領域、つまりワークシート名、ドル記号を表現する上記の方法を要約します。 $、相対参照状態のセル アドレス、そして最後に角括弧で囲まれます。

ただ、姜子。

このセクションのヒント:


[Student table $A2:F]、このステートメントは、最後のデータが含まれる列 A2 から列 F までのセル範囲を参照できると言います。存在しますが、これには非自己接続状態という限定された前提条件が適用されます。いわゆる自己結合とは、SQL を使用してワークブック自体をリンクする必要があることを指します。自己リンク状態では、A2:F の最大表現は A2:F65536 行ですが、この時に必要な参照行が 65536 行を超える場合は、全テーブルモードを使用してください。

2. クロスワークブック テーブル

よく知られている問題は、いくつかのルックアップ参照関数 (VLOOKUP など) を除いて、クロスワークブック データを処理するときに Excel 関数が非常に疲れることです。 )、ほとんどの関数は、計算して使用する前に、関連するワークブックを開く必要があります。

はい、VLOOKUP 関数は関連するブックを開く必要がなく、複数のブック間で使用できます。また、VLOOKUP 数式を作成した後、参照しているブックを削除しても、VLOOKUP 関数は機能しません。計算。これは、数式が配置されているブック内の関連データがキャッシュされているためですが、VLOOKUP モードは関数の複雑な入れ子をサポートしていません... 指を鳴らしてください。ご興味があれば、別の日に別の機会に個別にお話します。 。

...ああ、SQL の話に戻ります~~

...前に共有した SQL ステートメントはすべて、現在のワークブックのテーブルを処理するために使用されます。は他のブックにあります。SQL を表現するにはどうすればよいですか?

たとえば、「生徒テーブル」の「成績テーブル」のデータをすべて取得します。感心させないでください。

これが OLE DB メソッドの場合 (このメソッドについては、このシリーズのチュートリアルの第 1 章を参照してください)、SQL ステートメントは次のとおりです。

SELECT * FROM [D:\EH小学\学生表.xlsx].[成绩表$]
ログイン後にコピー

FROM の後に指定されたテーブル文字列は、2 つの文字列で構成されます。最初の角括弧の内側は、指定されたワークブックのストレージ パスにサフィックスを付けた完全なワークブック名​​です。最後の角括弧の内側はワークシート名で、2 つの角括弧はピリオド (.) で接続されています。

VBA ADO を通じて SQL ステートメントを使用している場合...

警告の前にある本棚をノックしてください: VBA の基礎が不十分な子供用の靴、次の内容はスキップしてください...

OLE DB メソッドと比較すると、VBA ADO メソッドは非常に柔軟です。ADO を使用して、指定されたブックへのリンクを直接作成して開くことができるため、SQL ステートメントでブックの完全な名前を指定する必要はありません。 、など。

コード リファレンスは次のとおりです。

Sub ADO_SQL()
'适用于除2003版以外的高版本Excel
Dim cnn As Object, rst As Object
Dim strPath As String, strCnn As String, strSQL As String
Dim i As Long
Set cnn = CreateObject("adodb.connection")
strPath = "D:\EH小学\学生表.xlsx" '指定工作簿
strCnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
cnn.Open strCnn '创建并打开到指定工作簿的链接
strSQL = "SELECT * FROM [成绩表$]" 'strSQL语句,查询成绩表的所有数据
Set rst = cnn.Execute(strSQL) '执行strSQL
Cells.ClearContents
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next
Range("a2").CopyFromRecordset rst
cnn.Close
Set cnn = Nothing
End Su
ログイン後にコピー

上記のコードの 7 行目は、接続する必要があるブックの完全な名前を直接指定しており、 SQL ステートメント。

但更多的情况是,ADO创建的链接是一个工作簿,需要获取的数据在另一个或多个工作簿,例如两个工作簿之间的数据查询统计。此时通常使用的代码如下

Sub ADO_SQL2()
'适用于除2003版以外的高版本Excel
Dim cnn As Object, rst As Object
Dim strPath As String, strCnn As String, strSQL As String
Dim i As Long
Set cnn = CreateObject("adodb.connection")
strPath = ThisWorkbook.FullName '代码所在工作簿的完整名称
strCnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
cnn.Open strCnn '创建到代码所在工作簿的链接
strSQL = "SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsm].[成绩表$]"
Set rst = cnn.Execute(strSQL) '执行SQL
Cells.ClearContents
For i = 0 To rst.Fields.Count - 1
Cells(1, i + 1) = rst.Fields(i).Name
Next
Range("a2").CopyFromRecordset rst
cnn.Close
Set cnn = Nothing
End Sub
ログイン後にコピー

代码中第7行创建了当前工作簿的链接,SQL语句中又指定了另外一个工作簿的链接。SQL语句如下

SELECT * FROM [Excel 12.0;DATABASE=D:\EH小学\学生表.xlsx].[成绩表$]
ログイン後にコピー

FROM指定表的字符串有两部分组成。第一个中括号中,Excel 12.0是目标工作簿的版本号,第2章时我们讲过,Excel 12.0适用于除了2003以外的所有Excel版本。DATABASE指定的是数据源工作簿的路径和名称。第2个中括号内是工作表名。两个中括号之间使用英文点号相连。

看起来似乎VBA+ADO方法的SQL语句比OLE DB法更复杂?确实如此,不过前者的功能也更强大。比如,它可以通过VBA对象的属性、方法,循环和判断语句等,有条件的筛选工作簿和工作表……相比之下,OLE DB中的SQL语句就是纯手工常量模式了。当然,更重要的是,前者不但可以查数据,还可以增改删数据,后者却只限于查。

相关学习推荐:excel教程

以上がExcel SQL クエリでの「テーブル」の使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Mar 21, 2024 am 09:50 AM

印刷が必要なファイルを開いたときに、印刷プレビューで表の枠線が何らかの原因で消えてしまった場合は、早めに対処する必要があります。 file このような質問がある場合は、エディターに参加して次のコースを学習してください: Excel で表を印刷するときに枠線が消えた場合はどうすればよいですか? 1. 次の図に示すように、印刷する必要があるファイルを開きます。 2. 以下の図に示すように、必要なコンテンツ領域をすべて選択します。 3. 以下の図に示すように、マウスを右クリックして「セルの書式設定」オプションを選択します。 4. 以下の図に示すように、ウィンドウの上部にある「境界線」オプションをクリックします。 5. 下図に示すように、左側の線種で細い実線パターンを選択します。 6.「外枠」を選択します

Excelで3つ以上のキーワードを同時にフィルタリングする方法 Excelで3つ以上のキーワードを同時にフィルタリングする方法 Mar 21, 2024 pm 03:16 PM

Excelは日々の事務作業でデータ処理に使用されることが多く、「フィルター」機能を使用することが多いです。 Excel で「フィルタリング」を実行する場合、同じ列に対して最大 2 つの条件しかフィルタリングできません。では、Excel で同時に 3 つ以上のキーワードをフィルタリングする方法をご存知ですか?次に、それをデモンストレーションしてみましょう。 1 つ目の方法は、フィルターに条件を徐々に追加することです。条件を満たす 3 つの詳細を同時にフィルターで除外する場合は、まずそのうちの 1 つを段階的にフィルターで除外する必要があります。最初に、条件に基づいて姓が「Wang」の従業員をフィルタリングできます。 [OK]をクリックし、フィルター結果の[現在の選択をフィルターに追加]にチェックを入れます。手順は以下の通りです。同様に再度個別にフィルタリングを行う

Excelテーブル互換モードを通常モードに変更する方法 Excelテーブル互換モードを通常モードに変更する方法 Mar 20, 2024 pm 08:01 PM

私たちは日々の仕事や勉強で、他人からExcelファイルをコピーし、そのファイルを開いて内容を追加したり、再編集したりして保存することがありますが、互換性チェックのダイアログボックスが表示されることがあり、非常に面倒です。ソフトウェア. 、通常モードに変更できますか?そこで以下では、エディターがこの問題を解決するための詳細な手順を紹介します。一緒に学びましょう。最後に、忘れずに保存してください。 1. 図に示すように、ワークシートを開き、ワークシートの名前に追加の互換モードを表示します。 2. このワークシートでは、内容を変更して保存すると、図のように互換性チェックのダイアログが必ず表示され、非常に面倒です。 3. [Office] ボタンをクリックし、[名前を付けて保存] をクリックして、

Excelで下付き文字を入力する方法 Excelで下付き文字を入力する方法 Mar 20, 2024 am 11:31 AM

e私たちはExcelを使ってデータテーブルなどを作成することがあります。パラメータ値を入力するときに、特定の数値の上付きまたは下付きが必要になることがあります。たとえば、数式がよく使用されます。では、Excelで下付き文字を入力するにはどうすればよいですか?詳細な手順を見てください: 1. 上付き文字の方法: 1. まず、Excel に a3 (3 は上付き文字) と入力します。 2. 数字「3」を選択し、右クリックして「セルの書式設定」を選択します。 3. 「上付き文字」をクリックし、「OK」をクリックします。 4. ほら、効果はこんな感じです。 2. 下付き文字の設定方法: 1. 上付き文字の設定方法と同様に、セルに「ln310」(3 は下付き文字) と入力し、数字の「3」を選択し、右クリックして「セルの書式設定」を選択します。 2.「下付き文字」にチェックを入れて「OK」をクリックします。

Excelで上付き文字を設定する方法 Excelで上付き文字を設定する方法 Mar 20, 2024 pm 04:30 PM

データを処理していると、倍数や温度などのさまざまな記号が含まれるデータに遭遇することがあります。 Excel で上付き文字を設定する方法をご存知ですか? Excel を使用してデータを処理する場合、上付き文字を設定しないと、大量のデータを入力するのがさらに面倒になります。今回はエクセルの上付き文字の具体的な設定方法をエディターがお届けします。 1. まず、図に示すように、デスクトップで Microsoft Office Excel ドキュメントを開き、上付き文字に変更する必要があるテキストを選択します。 2. 次に、図に示すように、右クリックして、クリック後に表示されるメニューで「セルの書式設定」オプションを選択します。 3. 次に、自動的に表示される「セルの書式設定」ダイアログボックスで

エクセルでiif関数を使う方法 エクセルでiif関数を使う方法 Mar 20, 2024 pm 06:10 PM

ほとんどのユーザーは Excel を使用してテーブル データを処理します。実は Excel にも VBA プログラムがあります。専門家を除けば、この関数を使用したユーザーはあまり多くありません。VBA で記述するときによく使用されるのが iif 関数です。実際には、次の場合と同じです。関数の機能は似ていますが、iif関数の使い方を紹介します。 SQL ステートメントには iif 関数があり、Excel には VBA コードがあります。 iif 関数は Excel ワークシートの IF 関数と似ており、論理的に計算された真値と偽値に基づいて真偽値を判定し、異なる結果を返します。 IF 関数の使用法は (条件、はい、いいえ) です。 VBAのIF文とIIF関数、前者のIF文は条件に応じて異なる文を実行できる制御文であり、後者は条件に応じて異なる文を実行できる制御文です。

Excelの読み取りモードを設定する場所 Excelの読み取りモードを設定する場所 Mar 21, 2024 am 08:40 AM

ソフトウェアの学習では、Excel が便利なだけでなく、実際の作業で必要なさまざまな形式に対応できるため、Excel の使用に慣れています。Excel は非常に柔軟に使用でき、今日は「みんなのために:Excelの読み取りモードを設定する場所」を持ってきました。 1. コンピュータの電源を入れ、Excel アプリケーションを開き、目的のデータを見つけます。 2. Excel で読み取りモードを設定するには 2 つの方法があります。 1 つ目: Excel には、Excel レイアウトで多数の便利な処理メソッドが配布されています。 Excelの右下に読み取りモードを設定するショートカットがあります。バツマークのパターンを見つけてクリックすると、読み取りモードに入ります。バツマークの右側に小さな立体マークがあります。 。

ExcelアイコンをPPTスライドに挿入する方法 ExcelアイコンをPPTスライドに挿入する方法 Mar 26, 2024 pm 05:40 PM

1. PPT を開き、Excel アイコンを挿入する必要があるページに移動します。 「挿入」タブをクリックします。 2. [オブジェクト]をクリックします。 3. 次のダイアログボックスが表示されます。 4. [ファイルから作成]をクリックし、[参照]をクリックします。 5. 挿入する Excel テーブルを選択します。 6. [OK] をクリックすると、次のページが表示されます。 7. [アイコンで表示]にチェックを入れます。 8. 「OK」をクリックします。

See all articles