件名と本文形式が決まった受信メールなら、GASで最新の1件を検索し、項目ごとにスプレッドシートへ転記できます。
前提
本文の項目名と順序が変わると抽出できません。まずテスト用メールと複製シートで試してください。
本文の項目名と順序が変わると抽出できません。まずテスト用メールと複製シートで試してください。

目次
シートを準備する
B1〜B7に「法人名」「氏名」「住所」「電話番号」「メールアドレス」「商品」「数量」を転記します。

Apps Scriptのコード
function importLatestMail() {
const targetSubject = "ご注文を受け付けました";
const queryText = 'subject:"' + targetSubject + '" newer_than:30d';
const threads = GmailApp.search(queryText, 0, 10);
const messages = threads
.flatMap(function (thread) { return thread.getMessages(); })
.filter(function (mail) { return mail.getSubject() === targetSubject; })
.sort(function (left, right) { return right.getDate() - left.getDate(); });
if (!messages.length) {
SpreadsheetApp.getUi().alert("対象メールが見つかりません。");
return;
}
const bodyText = messages[0].getPlainBody();
const pattern = /法人名:(.+?)\s*お名前:(.+?)\s*ご住所:(.+?)\s*電話番号:(.+?)\s*メールアドレス:(.+?)\s*商品:(.+?)\s*数量:(.+?)(?:\n|$)/s;
const match = bodyText.match(pattern);
if (!match) {
SpreadsheetApp.getUi().alert("本文の形式が想定と異なります。");
return;
}
const values = match.slice(1, 8).map(function (value) { return [value.trim()]; });
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(1, 2, values.length, 1).setValues(values);
SpreadsheetApp.getUi().alert("最新の対象メールを転記しました。");
}
ボタンに割り当てる
「挿入」→「図形描画」でボタンを作り、図形のメニューから「スクリプトを割り当て」を選びます。関数名は importLatestMail で、括弧は不要です。

認証と実行結果を確認する
初回はGmailとシートへのアクセス許可が求められます。アカウントと権限を確認し、実行後は対象メールとB1〜B7を照合してください。

本番運用の注意
- メール本文に個人情報が含まれる場合はシートの共有範囲を制限する
- この例は固定セルを上書きする。履歴が必要なら別設計にする
- 同一件名が複数ある場合は最新受信分が対象になる
GmailAppリファレンスとGoogle公式の認証ガイドも確認してください。

