计数发生的复杂标准

计数发生的复杂标准

对于一项调查(每个表包含 +2000 个条目),我需要对以下两个表(简化)执行困难的求和运算。

表 A:

  |   id    sex
--+---------------
1 |   101    m
2 |   102    w
3 |   103    w
4 |   104    m

表 B:

  |   id    a    b
--+------------------
1 |   101   1    1
2 |   102   1    0
3 |   103   0    0
4 |   104   1    1

属性“a”和“b”的值应为是 (1) 和否 (0)。我现在想计算每个男性 (“m”) 在“a”列中值 1 的出现次数。

对于此示例,结果将是2

您可以使用这个文件(test.odt)作为起点,如果你打算提供帮助。

有人会怎么做?这在 Libre Calc 中可行吗,还是我应该使用 SQL?

答案1

我没有做过测试,但我认为在 Calc 中绝对可以实现。你需要结合查找统计分析系统以及知识数组函数

基本上,您想SUMIFS在表 B 的 B 列上使用,引用性别VLOOKUP

因此,使用您的示例表,在表 B 的 B6 中:

=SUMIFS(B2:B5; B2:B5; VLOOKUP({A};TableA!$A$2:$B$5; 2)="m")

我不确定“{A}”是否是使查找以数组方式工作的正确语法。

或者,您可以在表 B 中的“id”和“a”之间插入一列,用来VLOOKUP确定性别,然后用它SUMIFS来确定(新的)第二列是否包含“m”。

编辑: 取消

看来 Vlookup 不能在数组公式中使用,所以这不起作用。但是,请在 B6 中尝试此操作:

=SUMPRODUCT(B2:B5*(LOOKUP(A2:A5,Sheet1.A2:Sheet1.A5,Sheet1.B2:Sheet1.B5)="m"))

表 A 在 Sheet1 中,表 B 在 Sheet2 中。

相关内容