如何调整INDEX函数公式以实现多列(B、C列)的筛选需求?
Excel INDEX函数逻辑调整方案
修改后的公式
直接用这个公式就能实现需求:=INDEX(IF((Sheet1!B5:B<>"")*(Sheet1!C5:C<>""),,Sheet1!A5:A))
逻辑说明
- 公式里的
(Sheet1!B5:B<>"")*(Sheet1!C5:C<>"")是核心:在Excel数组运算中,*相当于逻辑AND,只有当B列和C列对应行都不为空时,这个表达式返回TRUE,此时IF函数返回空值; - 只要B列或C列任一为空,表达式返回FALSE,IF函数就返回A列对应行的内容。
示例验证
下面是对应逻辑的示例表格:
| A列(内容) | B列 | C列 | 公式返回结果 |
|---|---|---|---|
| 内容1 | 有数据 | 有数据 | (空) |
| 内容2 | 空 | 有数据 | 内容2 |
| 内容3 | 有数据 | 空 | 内容3 |
| 内容4 | 空 | 空 | 内容4 |
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

