ChatGPT ではプロジェクトを作成できます。いつも同じ質問を繰り返すのは面倒なので、プロジェクトの「指示」にあらかじめ質問を書いておき、目的に応じて質問するプロジェクトを選択します。
チャットに「対象項目: △△△△」を記述して、「対象項目を~」と指示しないと期待通りに動作しないときがあります(単に「提供された文章を~」と指示しても期待通りに動作しない)。簡単のために、チャットに「#1 △△△△」を記述して、「#1 の文章を~」と指示します。
「指示」に複数の文を記述しても、期待通りに理解してくれないので、1文で「#番号 から #番号 に従って、△△を〇〇してください」と書いています。(日本語への指示は問題ないようです。)(最初の文と箇条書きの間に空行を入れます。)
プロジェクトにファイルを追加して、指示に「添付したファイルを参考に、~」を追加しました。

ファイルにあるスタイルを参考に、#1 から #3 に従って、クエリを整形してください。日本語で回答してください。
#1 改行とインデントを用いてクエリを見やすくしてください
#2 各SQLステートメントを新しい行に配置してください
#3 クエリを整形して、読みやすく表示してください
SELECT
name,
email
FROM
users
WHERE
id = 1;
INSERT INTO
users (name, email)
VALUES
('John Doe', 'john.doe@example.com');
UPDATE
users
SET
email = 'new.email@example.com'
WHERE
id = 1;
DELETE FROM
users
WHERE
id = 1;
SELECT
users.name,
users.email,
orders.order_date,
orders.amount
FROM
users
INNER JOIN
orders
ON
users.id = orders.user_id
WHERE
users.id = 1;

ファイルにあるスタイルを参考に、#1 から #5 に従って、MS Access の DLookup や DSum などの関数を書き換えてください。日本語で回答してください。
#1 クエリに書き換えてください
#2 改行とインデントを用いてクエリを見やすくしてください
#3 各SQLステートメントを新しい行に配置してください
#4 クエリを整形して、読みやすく表示してください
#5 格納先の変数名は、 AS に使用してください
sample.txt は上と同じ

#1 の文章を校正してください。日本語で回答してください。
#1
ChatGPT ではプロジェクトを作成できます。いつも同じ質問を繰り返すのは面倒なので、プロジェクトの「指示」にあらかじめ質問を書いておき、目的に応じて質問するプロジェクトを選択します。
ChatGPT の最初の画面のメニュー

Excel 用
以下に、Excel 用を追加しました。

#サンプル1 から #サンプル2 にあるスタイルを参考に、#1 の Excel の VLOOKUP を1文で説明してください。#サンプル2 のように、列名の記述がある場合は、それをそのまま置き換えてください。
#サンプル1
VLOOKUP("最終日", Sheet1!$A:$E, 4, TRUE)
Sheet1シートのA列からE列の範囲内の最初の列で「最終日」を近似一致で検索し、一致する行のD列の値を取得します。
#サンプル2
VLOOKUP("更新日", INVOICE!$A:$E, 4, FALSE)
A列: Date
D列: Address
E列: Tel
INVOICEシートのDate列からTel列の範囲内の最初の列で「更新日」を完全一致で検索し、一致する行のAddress列の値を取得します。
#1
VLOOKUP("登録日", 会員情報!$A:$G, 5, TRUE)

#サンプル1 から #サンプル2 にあるスタイルを参考に、#1 の Excel の SUMIFS を1文で説明してください。#サンプル2 のように、列名の記述がある場合は、それをそのまま置き換えてください。
#サンプル1
SUMIFS(Sheet1!$J:$J, Sheet1!$A:$A, '最終日付', Sheet1!$B:$B, '会社ID')
Sheet1シートの、A列が「最終日付」と一致し、B列が「会社ID」と一致する全ての行のJ列の数値を合計します。
#サンプル2
SUMIFS(台帳!$B:$B, 台帳!$C:$C, "2021/01/*", 台帳!$D:$D, "北海道", 台帳!$E:$E, "食品")
B列: 売上額
C列: 販売日
D列: 地域
E列: 商品カテゴリ
台帳シートの、販売日列が「2021/01/*」と一致し、地域列が「北海道」と一致し、商品カテゴリ列が「食品」と一致する全ての行の売上額列の数値を合計します。
#1
SUMIFS(Sheet1!$B:$B, Sheet1!$C:$C, "2025/02/*", Sheet1!$D:$D, "北海道", Sheet1!$E:$E, "食品")

#サンプル1 から #サンプル5 にあるスタイルを参考に、#1 の Excel の MAX や SUM などの関数を1文で説明してください。#サンプル2 から #サンプル4 のように、列名の記述がある場合は、それをそのまま置き換えてください。
#サンプル1
MAX(Sheet!A:A)
Sheet1シートのA列内の数値の最大値を返します。
#サンプル2
SUM(台帳$D$11:$D$50)
D列: 利益
台帳シートの利益列の11行目から50行目までの範囲にあるデータを合計します。
#サンプル3
OFFSET(U13,0,0,MONTH(B13)))
U列: 日付
B列: 入荷日
「日付」を基点として、0行と0列のオフセットで、「入荷日」の月数に対応する数の行数で新しいセル範囲を返します。
#サンプル4
IF(Z13=0,0,ABS(X13-Z13)/Z13)
Z列: 新価格
X列: 旧価格
「新価格」が0の場合は0を返し、それ以外の場合は「旧価格」と「新価格」の差の絶対値を「新価格」の値で割った結果を返します。
#サンプル5
sheet1.Cells.Find(What:="Address", After:=sheet1.Cells(1, 1), LookAt:=xlPart)
sheet1 のセル内で「Address」という文字列を部分一致で検索しています。検索はセルA1 (Cells(1, 1)) の次のセル(セルB1)から始まり、見つかったセルの参照が返ります。
#1
MAX(Sheet1!A:A)
補足:MS Access のデバッグ
[表示]-[イミディエイト ウィンドウ]を表示します
デバッグでブレークポイントで停止します
変数値の確認
? yourVariable1
1.23456
関数の複数の引数値の確認
returnVal = DLookup(argument1, argument2, argument3)
↓
先頭に「? """" + 」(または、? と " の次に「returnVal = DLookup(」も含める)
「, 」を「 + """, """ + 」に置換
末尾に「 + """"」(または、" と末尾の間に「)」も含める)
↓
? """" + argument1 + """, """ + argument2 + """, """ + argument3 + """"
変数の宣言(Dim)やコメントにはブレークポイントは貼れません
補足:MS Access ノウハウ
レコードセット(DAO.Recordset)の指定したフィールドの value は、最初の(現在の)レコードの value を返します
標準モジュールはすべてのコードに読み込まれています(Public の記述があるとき)
DateSerial は Day 引数に 0 を使用することで、指定した月の「前の月の最後の日」を取得することができます。 DateSerial(Year("2015/01/15"), Month("2015/01/15") - 4, 0) は、2014年の8月31日を返します。なぜなら2014年9月0日と解釈され、日付のローリングバックにより8月の最後の日が得られます
クエリを実行する
[作成]-[クエリデザイン]でクエリを新規作成
SQL ビュー
クエリを書込み、または、貼り付け
[クエリデザイン]-[実行]
独自に作成したクエリ(Insert)を保存する際に、「SQL ステートメントが正しくありません。」というメッセージが表示される場合がありますが、実行は正常に行えます。Insert 先のテーブルはウィンドウを閉じる必要があります
自分の環境でのレコードのエクスポート/インポート
テーブルを選択し、マウス右クリック、XML ファイルでエクスポートする
データのみエクスポートする
必要に応じてデータ(XML)を加工
テーブルを選択し、マウス右クリック、XML ファイルをインポートする
既存のテーブルにデータを追加する
完了
補足:Excel ノウハウ
lastAddress = someSheet.Cells(Rows.Count, col("住所")).End(xlUp).Value
lastRow = someSheet.Cells(Rows.Count, col("住所")).End(xlUp).Row