如何在Excel中为City1匹配对应TaxCode并批量填充列值
Excel批量匹配City1对应税号的实现方法
需求说明
现有Excel表格结构如下:
| City Code | City1 | City2 | TaxCode of City2 |
|---|---|---|---|
| 50 | NewYork | Kathmandu | 48 |
| 20 | Mumbai | NewYork | 60 |
| 12 | Ireland | Mumbai | 25 |
| 61 | Paris | Kathmandu | 48 |
需要新增TaxCode of City1列,为每行的City1匹配对应税号,最终目标表格如下:
| City Code | City1 | City2 | TaxCode of City2 | TaxCode of City1 |
|---|---|---|---|---|
| 50 | New York | Kathmandu | 48 | 60 |
| 20 | Mumbai | NewYork | 60 | 25 |
| 12 | Ireland | Mumbai | 25 | 43 |
| 61 | Paris | Kathmandu | 48 | 53 |
批量实现方法
以下三种方法均可完成批量匹配,根据你的Excel版本选择即可:
1. VLOOKUP函数(兼容全版本Excel)
假设数据在A:D列,表头为第1行,新增列放在E列:
- 在E2单元格输入公式:
=VLOOKUP(B2, $B:$D, 3, FALSE) - 按回车确认后,鼠标拖动E2单元格右下角的填充柄,下拉至所有行完成批量填充。
- 参数说明:
B2是当前行要匹配的City1值;$B:$D锁定查找区域(避免下拉时区域偏移);3表示返回查找区域的第3列(即TaxCode列);FALSE指定精确匹配。
2. XLOOKUP函数(适用于Excel 365/2021及以上版本)
XLOOKUP语法更直观,适合新版Excel:
- 在E2单元格输入公式:
=XLOOKUP(B2, $B:$B, $D:$D) - 下拉填充即可完成批量匹配。
- 参数说明:
B2是查找值;$B:$B是City1的查找范围;$D:$D是对应税号的返回范围,默认精确匹配。
3. INDEX+MATCH组合(灵活度更高)
该组合不受列顺序限制,适合复杂场景:
- 在E2单元格输入公式:
=INDEX($D:$D, MATCH(B2, $B:$B, 0)) - 下拉填充完成批量操作。
- 参数说明:
MATCH(B2, $B:$B, 0)先找到City1在B列的行号;INDEX($D:$D, ...)再返回D列对应行的税号;0表示精确匹配。
注意事项
如果出现匹配失败(比如原表格City1是NewYork,目标是New York),需先统一文本格式:
- 可使用
=SUBSTITUTE(B2, " ", "")去除空格后再匹配,或者批量修正City1的拼写。
内容的提问来源于stack exchange,提问作者frp farhan
相关产品推荐
相关产品推荐

