You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 2010:跨三张表的查找与统计实现(无需新增辅助列)

嘿,刚好我对Excel 2010的函数组合很熟,这三个需求完全不用新增辅助列就能搞定,给你一步步拆解:

1. 填充Region表的目标数据

假设你的Region表A列是区域名称,需要填充和Name/Code表关联的内容(比如该区域对应的所有名称),由于Excel 2010没有TEXTJOIN函数,我们可以用数组公式来实现。在Region表的B2单元格输入以下公式,然后按Ctrl+Shift+Enter(数组公式必须按这个组合键确认),再下拉填充:

=TEXT(LEFT(LOOKUP(REPT("z",255),IF(Name表!$B$2:$B$100=A2,Name表!$A$2:$A$100&",")),LEN(LOOKUP(REPT("z",255),IF(Name表!$B$2:$B$100=A2,Name表!$A$2:$A$100&",")))-1),"")

提示:把公式里的Name表!$B$2:$B$100改成Name表中存储区域的列范围,Name表!$A$2:$A$100改成Name表中存储名称的列范围,根据你的实际表结构调整。

2. 统计各Region在Name表中的出现次数

这个用COUNTIF就能轻松实现,完全不需要辅助列。在Region表的统计列(比如C2)输入以下公式,下拉填充即可:

=COUNTIF(Name表!$B$2:$B$100,A2)

这里的Name表!$B$2:$B$100是Name表中记录区域的列,A2是Region表当前行的区域名称,按需替换范围。

3. 获取Name表中各名称对应的Code表代码(无辅助列)

如果不想在Name表新增辅助列,我们可以在汇总区域(比如一个空白工作表或者Region表的某列)直接生成名称-代码的对应关系,用INDEX+MATCH组合公式:
在空白区域的第一行(比如D2)输入名称提取公式(数组公式,按Ctrl+Shift+Enter):

=IFERROR(INDEX(Name表!$A$2:$A$100,ROW(INDIRECT("1:"&COUNTA(Name表!$A$2:$A$100)))),"")

在旁边的E2单元格输入代码匹配公式(同样按Ctrl+Shift+Enter):

=IFERROR(INDEX(Code表!$B$2:$B$100,MATCH(D2,Code表!$A$2:$A$100,0)),"")

提示:Name表!$A$2:$A$100是Name表的名称列,Code表!$A$2:$A$100是Code表的名称列,Code表!$B$2:$B$100是Code表的代码列,根据实际调整范围。

如果只是需要单独查看某个名称的代码,也可以直接在任意空白单元格输入:

=VLOOKUP("目标名称",Code表!$A$2:$B$100,2,FALSE)

把"目标名称"换成你要查询的单元格引用也可以,比如Name表!A2。


内容的提问来源于stack exchange,提问作者topstuff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 14:57:31