markdown # 解决方案 ## ✅核心思路 1. **遍历数据行**:从左到右逐个检查每个单元格的值是否大于0; 2. **定位首个符合条件的列**:找到第一个满足条件的列索引; 3. **关联表头公式**:通过该列索引获取对应的表头名称或公式。 --- ## 📌具体实现(以Excel为例) 假设你的数据在第1行(如A1:Z1),可用以下步骤: ### 方法一:辅助列+匹配函数 1. 在空白列输入辅助公式判断正数: excel =IF(A1>0, COLUMN(), "") '拖动填充至整行 2. 用`MATCH`找第一个非空结果: excel =INDEX($1:$1, MATCH(TRUE, A2:Z2<>"", 0)) ▶️ `A2:Z2`是上一步生成的辅助区域,实际使用时需调整范围。 ### 方法二:数组公式直出(Ctrl+Shift+Enter) 直接输入单行动态数组公式: excel =INDEX($1:$1, MIN(IF(A1:Z1>0, COLUMN(A:Z)))) 👉 此公式会返回第一个大于0所在列的表头内容。 --- ## ⚠️注意事项 - 如果整行都没有大于0的值,上述公式会报错→可嵌套`IFERROR`处理异常; - 若表头本身是计算公式而非纯文本,建议先手动固定其结果再引用。 --- ## 🔧示例演示 | A | B | C=IF(A1>0,COLUMN(),"") | D=IF(B1>0,COLUMN(),"") | ... | |--------|---------|------------------------|------------------------|-----| | -5 | 8 | "" | 2 | ... | | ...其他数据... | 此时用`=INDEX($1:$1, MATCH(TRUE, C2:D2<>"", 0))` → 返回B1的值(即"8"对应的表头)。