还有没有其他更高级 简单的写法
可以使用更高级的数组公式来简化这些条件判断。WPS表格支持部分动态数组函数,例如 `FILTER` 和 `UNIQUE`,但它们不能直接用在 `SUMIFS` 的标准语法中。不过,可以通过结合 `SUM` 和 `FILTER` 来实现类似功能,如果筛选条件比较复杂或筛选月份较多,代码会更加简洁。
以下是使用 `SUM` 和 `FILTER` 组合的公式:
```excel
=SUM(
FILTER(
室内柜订单!L:L,
(DATE(YEAR(室内柜订单!C:C), MONTH(室内柜订单!C:C), 1) <= DATE(YEAR(AN13), IF(AK13="10月", 10, IF(AK13="11月", 11, IF(AK13="12月", 12, IF(AK13="1月", 1, 0))), 1))
& (DATE(YEAR(室内柜订单!C:C), MONTH(室内柜订单!C:C), EOMONTH(室内柜订单!C:C)) >= DATE(YEAR(AN13), IF(AK13="10月", 10, IF(AK13="11月", 11, IF(AK13="12月", 12, IF(AK13="1月", 1, 0))), 1) + 1 - 1))
)
)
```
请注意:
- `DATE` 函数用于生成日期。
- `YEAR` 和 `MONTH` 函数分别提取年份和月份。
- `EOMONTH` 函数用于获取月份的最后一天。
- `FILTER` 函数返回一个数组,包含所有满足条件的 `室内柜订单!L:L` 中的值。
- `SUM` 函数对 `FILTER` 函数返回的数组进行求和。
由于不同版本的 WPS 表格对数组公式的支持可能有所不同,所以请根据您所使用的具体版本进行测试和调整。这个公式在最新版本的 WPS 中应该可以正常工作,但是如果您使用的版本较旧,可能需要稍微修改一下函数的使用方式。
AI智能问答网
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用创作工场,更聪明、更完整、更原创!