问题描述
我有以下格式的简单数据:
我需要对最后一列进行求和,但要基于“域”列中的文本。结果表应该是这样的...鉴于需要进行文本过滤,我没有使用数据透视表。
为此,例如对于7月域1,我有一个这样的公式:
=SUMIFS(C:C,MONTH(A:A),7,B:B,"domain1.")
对于其他域:
=SUMIFS(C:C,"<>domain1.")
我正在使用SUMIFS
,因为我需要多个条件。但是上面的公式给出了一个错误:
错误:SUMIFS的数组参数大小不同。
这些列的结构均按A:A,B:B等表示。出了什么问题?
谢谢。
解决方法
INDEX
将仅输出一个单元格,除非您将公式包装到ARRAYFORMULA
或=INDEX(SUMIFS(C:C,MONTH(A:A),7,B:B,"<>domain1.*"))
中:
=ARRAYFORMULA(QUERY({TEXT(A2:A,"mmmm"),B2:C},"select Col1,sum(Col3)
where not Col2 contains 'domain1.'
and Col3 is not null
group by Col1
label sum(Col3)''"))
suspend fun method(filter: String): Flow<List<Model>> {
// Search.
val models: List<Model> = repo.getModels(filter) // suspend function
// Get favorites
val favoritesFlow: Flow<List<Int>> = otherRepo.getFavorites()
// Return models as Flow,but mark/unmark every model as favorite when favoritesFlow is updated.
??? val result = models + favoritesFlow ????
return result
}