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

如何按项目分组过滤表格?添加筛选器展示对应项目所有任务

按项目分组过滤表格并添加筛选器的实现方法

根据你的需求,下面分几种常用场景给出具体实现方式:

一、Excel环境下实现

  • 选中表格全部数据区域,点击顶部菜单栏「数据」→「筛选」,表头每个字段旁会出现下拉箭头
  • 点击「项目」列的下拉箭头,勾选目标项目(比如「项目A」),确认后表格会自动只展示该项目下的所有任务
  • 若需要更灵活的下拉选择式筛选,可结合「数据验证」+「高级筛选」:
    1. 在空白单元格设置数据验证,来源选择所有项目名称,生成下拉选择框
    2. 点击「数据」→「高级」,设置列表区域为表格数据,条件区域为下拉选择框所在单元格,勾选「将筛选结果复制到其他位置」并指定输出区域,确认后就能实时根据选择展示对应项目的任务

二、前端网页(JavaScript + HTML)实现

假设你的基础表格结构如下:

<table id="taskTable">
  <thead>
    <tr>
      <th>项目</th>
      <th>任务</th>
      <th>负责人</th>
    </tr>
  </thead>
  <tbody>
    <tr><td>项目A</td><td>任务1</td><td>张三</td></tr>
    <tr><td>项目A</td><td>任务2</td><td>李四</td></tr>
    <tr><td>项目B</td><td>任务3</td><td>王五</td></tr>
  </tbody>
</table>
<select id="projectFilter">
  <option value="">全部项目</option>
  <option value="项目A">项目A</option>
  <option value="项目B">项目B</option>
</select>

添加JavaScript实现筛选逻辑:

const filterSelect = document.getElementById('projectFilter');
const tableRows = document.querySelectorAll('#taskTable tbody tr');

filterSelect.addEventListener('change', function() {
  const selectedProject = this.value;
  tableRows.forEach(row => {
    const projectCell = row.querySelector('td:first-child');
    if (!selectedProject || projectCell.textContent === selectedProject) {
      row.style.display = '';
    } else {
      row.style.display = 'none';
    }
  });
});

三、Python Pandas处理表格数据

如果用Python批量处理数据,代码示例:

import pandas as pd

# 读取本地Excel表格数据
df = pd.read_excel('任务列表.xlsx')

# 筛选指定项目的任务
filtered_data = df[df['项目'] == '项目A']

# 查看结果或保存为新文件
print(filtered_data)
filtered_data.to_excel('项目A任务列表.xlsx', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:05:23