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

Power BI中如何通过文本字段内的#标签筛选表格数据

三类标签筛选解决方案建议

场景一:用Excel实现(适合办公场景)

假设备注字段在B列,表格数据范围为A:C(含项目ID):

  • 筛选无#标签的项目:
    使用FILTER函数匹配不含#的行,公式:
    =FILTER(A:C, ISERROR(SEARCH("#", B:B)))
    原理:SEARCH找不到#会返回错误,ISERROR标记这类行,FILTER提取对应数据。
  • 筛选仅含#AB标签的项目:
    需要同时满足「包含#AB」和「备注里只有1个#标签」,公式:
    =FILTER(A:C, ISNUMBER(SEARCH("#AB", B:B)) * (LEN(B:B) - LEN(SUBSTITUTE(B:B, "#", "")) = 1))
    原理:SUBSTITUTE替换所有#后,通过长度差统计#的数量,确保只有1个且是#AB。
  • 筛选含#AB或#CD(或两者都有)的项目:
    用逻辑或匹配两种标签,公式:
    =FILTER(A:C, ISNUMBER(SEARCH("#AB", B:B)) + ISNUMBER(SEARCH("#CD", B:B)) > 0)
    原理:两个ISNUMBER结果相加,只要有一个为真(返回1),总和就大于0,筛选对应行。

场景二:用Python Pandas实现(适合批量/复杂数据处理)

先导入表格数据(以Excel为例):

import pandas as pd
df = pd.read_excel("你的表格文件路径.xlsx")
  • 筛选无#标签的项目:
    df_no_tag = df[~df["备注"].str.contains("#", na=False)]
    
    说明:~表示取反,na=False忽略空值行,避免报错。
  • 筛选仅含#AB标签的项目:
    df_only_ab = df[(df["备注"].str.contains("#AB", na=False)) & (df["备注"].str.count("#") == 1)]
    
    说明:同时满足「包含#AB」和「#出现次数为1」两个条件。
  • 筛选含#AB或#CD(或两者都有)的项目:
    df_ab_cd = df[df["备注"].str.contains("#AB|#CD", na=False)]
    
    说明:用正则表达式的|实现逻辑或,匹配包含任意一个标签的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:12:50