使用Power Automate统计SharePoint列表多选列的选项数量
一、计算列直接实现(无需额外工具)
SharePoint的多选列实际存储为分号分隔的字符串,用以下公式就能直接统计选项数量,适合作为后续公式的基础:
=IF(ISBLANK([你的多选列名称]),0,LEN([你的多选列名称])-LEN(SUBSTITUTE([你的多选列名称],";",""))+1)
逻辑说明:
- 通过
SUBSTITUTE把所有分号替换为空,用原长度减去替换后的长度,得到分号的数量 - 分号数量加1就是选项总数,用
ISBLANK处理空值场景,避免出错
注意:如果你的多选列选项本身包含分号(SharePoint默认不允许),这个公式会失效,正常情况完全可用。
二、Power Apps自定义列(更灵活的场景)
如果计算列满足不了复杂逻辑,用Power Apps自定义列更稳妥:
- 打开列表,点击顶部「集成」→「Power Apps」→「自定义当前列表」
- 在编辑器左侧「数据」面板选中你的列表,点击「添加列」
- 列名设为「选项数量」(可自定义),数据类型选「数字」,输入公式:
CountRows(Split(ThisItem.[你的多选列名称], ";"))
- 保存发布后,列表会自动计算每一行的选项数量
三、优化Power Automate流方案(实时/批量更新)
之前的流没成功可能是逻辑没走对,试试这个流程:
- 触发动作选「当项目创建或修改时」
- 加一个「Compose」动作,输入公式:
length(split(triggerBody()?['多选列内部名称'], ';'))(替换成你多选列的内部名称,可在列表设置的列属性里查看) - 最后加「更新项目」动作,把Compose的输出写入新增的数字列中
如果要批量处理历史数据,先加「获取项目」动作,循环遍历所有项目执行上述更新步骤。
内容的提问来源于stack exchange,提问作者RobTops
相关产品推荐
相关产品推荐

