如何筛选Excel中指定年份对应的村庄及农户数据
Excel筛选及目标格式实现方案
方案1:提取年份+普通筛选+公式拼接
- 提取发票年份:根据发票编号格式,用公式拆分出年份。
- 若发票编号是日期格式:在空白列(如E列)输入
=YEAR(D2),下拉填充所有行(D列为发票编号列)。 - 若发票编号是文本格式(如
FP2023001):输入=MID(D2,3,4)(从第3位开始取4位,根据实际编号调整参数),下拉填充。
- 启用筛选:全选数据区域,点击「数据」→「筛选」,给每列添加筛选按钮。
- 筛选目标数据:先筛选「村庄」列的目标村庄,再筛选E列的目标年份,此时显示的就是对应村庄+年份的所有农户。
- 生成目标格式:在空白列(如F列)输入拼接公式
="-"&A2&"--"&E2&"--"&B2(A=村庄列,B=农户名单列,E=年份列),下拉填充后,复制F列结果并粘贴为「值」即可。
- 生成目标格式:在空白列(如F列)输入拼接公式
方案2:数据透视表快速分组
- 提前按方案1的方法提取发票年份到单独列。
- 创建透视表:全选数据区域,点击「插入」→「数据透视表」,将透视表放置到新工作表。
- 配置字段:将「村庄」拖至「行」区域,「发票年份」拖至「行」区域(置于「村庄」下方),「农户名单」拖至「值」区域。
- 调整值显示:右键点击「值」区域的农户名单→「值字段设置」,若为文本类型则将汇总方式改为「计数」,然后用
TEXTJOIN函数批量拼接同组农户:在透视表外的单元格输入=TEXTJOIN(", ",TRUE,IF((透视表村庄列范围=A2)*(透视表年份列范围=E2),透视表农户列范围,"")),按Ctrl+Shift+Enter(数组公式)生成逗号分隔的农户名单,再拼接成目标格式。
- 调整值显示:右键点击「值」区域的农户名单→「值字段设置」,若为文本类型则将汇总方式改为「计数」,然后用
- 最终调整透视表布局为大纲模式,即可得到清晰的「村庄--年份--农户名单」分组结构。
方案3:高级筛选精准匹配
- 设置条件区域:在空白区域输入条件(示例如下):
发票年份 2023 - 执行高级筛选:全选原数据区域,点击「数据」→「高级」,选择「将筛选结果复制到其他位置」,设置「列表区域」为原数据范围,「条件区域」为刚才设置的条件区域,「复制到」选择空白单元格。
- 筛选完成后,用方案1的拼接公式生成目标格式。
工作表截图插入方式
使用Markdown格式插入本地截图,示例:
内容的提问来源于stack exchange,提问作者Shailang Kharsati
相关产品推荐
相关产品推荐

