# Copilot Excel 下拉列表：建立两级分类校验，换父选项后揪出残留值

Entry第11行Light/C01是换父类后的残留值，第12行Audio/ZZ99为粘贴未知项。实际重算将B11改L01后C11为valid，C12仍invalid。

## 文件身份

所有人物、组织、数值为原创虚构教学资料。作者本地原生参考不代表目标SaaS实测；本题未登录目标账号、购买权益、调用付费API、发送评论/邀请或写主日历。

## 七步操作

1. 用稳定ID建立目录与录入表

先读目录与录入表，确认类别和item_id唯一，不用显示名称充当唯一键。

2. 建立Catalog与命名区域

要求Copilot建立Catalog、Entry和命名范围，输入区只开放指定列。

3. 检查真实Data Validation

创建类别下拉和随类别变化的条目下拉，打开Data Validation检查真实引用而非画出来的箭头。

4. 补上父子关系审计公式

设置无效值提示与父子关系审计公式，正常9种组合逐一测试。

5. 更换父类测试残留子值

把某行父类换成另一类但保留旧item_id，要求审计列报错，不声称Excel一定自动清空。

6. 粘贴非法值再检查审计

在副本直接粘贴非法item_id，核查审计列能识别，再保存XLSX。

7. 重开文件核对规则与异常行

验证dataValidations节点、命名区域、公式和12行清单；导出异常表与操作记录。

## 独立验证

在复制的目录运行 `python3 -B verify.py`。需要Python3，PDF验证依赖pypdf、原生表格只读检查依赖openpyxl，文档用标准库读取OOXML。教材的本地HTML查看器直接在浏览器打开，不需要连接第三方服务。

## 原生文件

- entry-form-input.xlsx
- entry-form-reference.xlsx

## 验收

- 工作簿存在真实Data Validation与引用范围，非只写在说明里的菜单。
- 父类变化和粘贴绕过两项负例都被审计标出；合法组合不误报。
- 公式与验证规则保留，重开后输入区能继续使用，稳定ID不被同名显示项混淆。

## 账户与功能依据

- Microsoft：Copilot in Excel 原生编辑能力 https://support.microsoft.com/en-gb/excel/copilot/get-started-with-copilot-in-excel
- Microsoft：Copilot Excel 原生下拉验证示例 https://support.microsoft.com/en-us/accessibility/copilot/copilot-with-excel-tutorial-for-screen-reader-users
