如何在单个单元格中合并两个ARRAYFORMULA公式实现多列条件计算?
表格公式设置方案
I列合并数组公式
要求:当F列对应单元格非空时执行公式1,G列对应单元格非空时执行公式2,使用IFS函数实现(无需额外IF函数),同时保留第6行的表头文字"PIPS",结果自动填充至I列对应行:
=ARRAYFORMULA(IF(ROW(I7:I)=6,"PIPS",IFS(NOT(ISBLANK(F7:F)),ROUND(($F7:F-$H7:H)*10000,2),NOT(ISBLANK(G7:G)),ROUND(($H7:H-$G7:G)*10000,2),TRUE,"")))
- 逻辑说明:先判断是否为表头行(第6行),显示"PIPS";再通过
IFS依次判断:F列非空则计算公式1,G列非空则计算公式2,其余情况显示空值。
单独单元格计算公式
- Delta1单元格公式(用Alpha1、Gamma1代入公式1):
=ROUND((Alpha1-Gamma1)*10000,2)
- Delta3单元格公式(用Beta3、Gamma3代入公式2):
=ROUND((Gamma3-Beta3)*10000,2)
公式示例与数据表格
公式1示例(F列非空时)
(F7 - H7) * 10000 = I7
(0,84200 - 0,83925) * 10000 = 27,50
(F8 - H8) * 10000 = I8
(0,84000 - 0,83000) * 10000 = 100,00
公式2示例(G列非空时)
(H9 - G9) * 10000 = I9
(0,84000 - 0,83000) * 10000 = 100,00
示例数据表格
| F | G | H | I |
|---|---|---|---|
| 0,84200 | 0,83925 | 27,50 | |
| 0,84000 | 0,83000 | 100,00 | |
| 0,83000 | 0,84000 | 100,00 |
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

