EP06. “Automated Invoice 自动化发票”
🔒 登录后可标记已读- 在 EP05 手动发票的基础上,这篇教怎么用 Data Validation 下拉列表 + VLOOKUP 函数,做到"选产品编号自动带出产品信息和价格"的自动化发票
- 前置知识是 EP05 的发票排版和 VLOOKUP 函数基本用法
- 学完能省掉逐笔手动查价格、手动打字的时间
重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
第一步:准备产品资料表
在 Products 工作表里列出产品编号、名称、价格等信息。
第二步:在发票工作表设置产品编号下拉列表
- 在 Invoice 工作表选中 A13:A31(品项编号所在的整个范围)
- Data 选项卡 → Data Validation
- Allow 选择 List
- Source 选取 Products 工作表的 A2:A5 范围
- 📌 把范围的结束行从 "5" 改成 "1048576"(Excel 表格最大行数),这样以后在 Products 工作表新增产品,下拉列表会自动涵盖,不用回来改 Source 范围
[截图:Data Validation 对话框,Source 栏显示 Products!$A$2:$A$1048576 的界面]
第三步:用 VLOOKUP 带出产品描述
在 B13 输入 VLOOKUP 公式,在 Products 工作表的 $A:$C 范围里查找 A13 对应的产品编号,col_index_num 设为 2(取第 2 列,也就是产品名称)。
第四步:用 VLOOKUP 带出价格
在 C13 输入类似的 VLOOKUP 公式,col_index_num 改成 3(取第 3 列,也就是价格)。
第五步:计算金额
在 E13 输入公式,让金额等于「价格 × 数量」(Price 和 Quantity 两个单元格相乘)。
第六步:把公式复制到其他行
- 选取 B13:E13 这一整行
- 拖动填充手柄往下拉到第 31 行
- 如果格式跑掉,用 Format Painter(格式刷)把第 13 行的格式重新套用到其他行
[截图:完成后的自动化发票效果,选中产品编号后名称和价格自动带出、金额自动算好的界面]
函数速查
| 函数 | 语法 | 用途 | 例子 |
|---|---|---|---|
| VLOOKUP | =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) | 垂直查找,取指定列的值 | =VLOOKUP(A13, Products!$A:$C, 2, FALSE) |
学完你会
- ✅ 会把下拉列表的 Source 结束行改成 1048576,让新增产品自动被列表涵盖
- ✅ 会用 VLOOKUP(配合绝对引用)自动带出产品名称和价格,不用手动查
- ✅ 会用「价格 × 数量」算出每行金额,再拖填充手柄套用到其他行
常见错误
- Data Validation 的 Source 范围结束行没有改大(还停留在原本的 A2:A5),新增产品后下拉列表没有跟着更新
- VLOOKUP 的查找范围没有用绝对引用(
$A:$C),公式往下复制后范围跟着偏移,查找结果全部出错 - VLOOKUP 最后一个参数(range_lookup)没设为 FALSE,产品编号如果不是完全排序好的清单,容易查到错误的相近值
Sources
Blog / Website: