求Excel公式:筛选含数值1的列标题(科目数<10时)
Excel公式解决方案:提取值为1的列标题(当科目数<10时)
没问题,我来帮你搞定这个需求!根据你的描述,我们可以分两种场景来实现,适配不同版本的Excel:
场景1:使用Excel 365/2021(支持动态数组)
如果你的Excel版本支持动态数组函数,用下面的公式最简洁:
=IF(科目数量单元格<10, "[" & TEXTJOIN(",", TRUE, FILTER(列标题区域, 值区域=1)) & "]", "")
举个实际例子,假设:
- 科目数量存在单元格
A1 - 列标题在
B1:Z1 - 对应的值在
B2:Z2
那么公式就变成:
=IF(A1<10, "[" & TEXTJOIN(",", TRUE, FILTER(B1:Z1, B2:Z2=1)) & "]", "")
公式解释:
IF(A1<10, ... , ""):先判断科目数量是否小于10,满足条件才执行后续逻辑,否则返回空值FILTER(B1:Z1, B2:Z2=1):精准筛选出值为1的列对应的标题文本TEXTJOIN(",", TRUE, ...):把筛选出来的标题用逗号连接成字符串- 前后拼接
"["和"]",正好得到你要的[s20,s21,s36]格式
场景2:使用旧版Excel(不支持动态数组)
如果你的Excel版本比较旧(比如2019及更早),可以用数组公式实现:
=IF(A1<10, "[" & TEXTJOIN(",", TRUE, IF(B2:Z2=1, B1:Z1, "")) & "]", "")
⚠️ 注意:输入完公式后,需要按Ctrl+Shift+Enter组合键来触发数组计算,否则公式无法正常工作。
调整提示:
你需要根据自己的实际表格结构,替换公式里的科目数量单元格、列标题区域和值区域,确保引用的范围和你的数据匹配。
内容的提问来源于stack exchange,提问作者Mohd Asyraf
相关产品推荐
相关产品推荐

