Arrayformula适用于国家,但不适用于国家和地区?

时间:2019-12-12 13:20:00

标签: google-sheets google-sheets-formula array-formulas google-sheets-query sumifs

好奇为什么公式2(下面)不起作用,即仅返回零而不返回数组,而公式1起作用(下面)。论点的构造似乎是相似的。

DM:DM是雇主列表。 (不是唯一的雇主,即Bob从事多个工作) DW:DW是为特定职位提供的职位数。 DU:DU是工作类型。

add_library(
        ProjectF   #[this is the library which should be linked when building ProjectA]
        STATIC
        IMPORTED
        )

# Tell CMake where ProjectF library exists.
set_target_properties(ProjectF PROPERTIES
        IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/path/to/libs/ProjectFLib.a
        )

find_library(
        log-lib
        PATHS /path/containing/your/log/lib
        log )

# Don't forget to link ProjectF here!
target_link_libraries(
        my-native-lib PUBLIC
        ProjectF
        ${log-lib} )

我认为问题是我使用嵌套在countifs和sumifs之间的“ Unique”函数并将其包装在arrayformula中的方式。在一级方程式中,该数组返回唯一雇主的职位数,因此鲍勃2,爱丽丝1,迈克1。我在一级方程式2中尝试的是鲍勃4,爱丽丝10,迈克4。我可以通过分离多个来实现这一点。列和函数,但我想知道是否有人知道使用arrayformula做到这一点的优雅方法,所以我将其放在一列中。谢谢,我希望这个问题很清楚。

一级方程式

DM      DW  DU
Bob     3   Sales
Alice   10  Cashier
Mike    4   Clerk 
Bob     1   Sales

公式2

=arrayformula(countifs('Data (QC)'!DM:DM,UNIQUE('Data (QC)'!DM:DM),'Data (QC)'!DU:DU,"Shop Sales Assistant"))

2 个答案:

答案 0 :(得分:0)

尝试:

=QUERY(A2:C, "select A,sum(B) where A !='' group by A label sum(B)''", 0)

0


并计数:

=QUERY(A2:C, "select A,count(B) where A !='' group by A label count(B)''", 0)

答案 1 :(得分:0)

=arrayformula ( unique ({filter( Log!M2:M, Log!M2:M<>"" ), sumif ( filter ( Log!M2:M, Log!M2:M<>"" ), "=" & filter ( Log!M2:M, Log!M2:M<>"" ), Log!W2:W )}))