If statement 如果相邻单元格有内容,则从总数中减去
我希望从以下公式得出的总数中减去: 计算单元格E2中内容的出现次数If statement 如果相邻单元格有内容,则从总数中减去,if-statement,google-sheets,sum,array-formulas,google-sheets-query,If Statement,Google Sheets,Sum,Array Formulas,Google Sheets Query,我希望从以下公式得出的总数中减去: 计算单元格E2中内容的出现次数=COUNTIF(B:B,E2) 如果相邻单元格包含任何内容,我想从总数中减去1 例如: B2的内容==E2,C2不为空,从总数中减去1 B3的内容==E2,C3为空 B4的内容==E2,并且C4不是空的,从总数中减去1 最终结果将是=COUNTIF(B:B,E2)-2 在文本中解释这一点似乎有点荒谬,因此这里有一个示例工作表,其中一列表示我希望看到公式的位置,另一列显示预期的输出。从程序上来说,这将是一项非常简单的任务,但在电子
=COUNTIF(B:B,E2)
如果相邻单元格包含任何内容,我想从总数中减去1
例如:
B2的内容==E2,C2不为空,从总数中减去1
B3的内容==E2,C3为空
B4的内容==E2,并且C4不是空的,从总数中减去1
最终结果将是=COUNTIF(B:B,E2)-2
在文本中解释这一点似乎有点荒谬,因此这里有一个示例工作表,其中一列表示我希望看到公式的位置,另一列显示预期的输出。从程序上来说,这将是一项非常简单的任务,但在电子表格中完成这项任务对我来说是一件新鲜事。我希望这可以做到
此外,列
A
和B
的长度可能不同,因此我更喜欢适合列长度的内容。删除范围D:F
在D2中使用:
=ARRAYFORMULA(QUERY(QUERY({B1:B,
IF((B1:B<>C1:C)*(A1:A<>"")*(C1:C=""), 1, 0)},
"select Col1,count(Col1),sum(Col2)
where Col1 !=''
group by Col1"),
"offset 1", 0))
=ARRAYFORMULA(查询({B1:B,
如果((B1:BC1:C)*(A1:A“”)*(C1:C=“”),1,0)},
选择Col1、count(Col1)、sum(Col2)
Col1在哪里!=''
按列分组1“,
“偏移量1”,0)
很好,我不知道您可以在工作表中使用sql类型查询。您能在回答中稍微解释一下这个公式吗?当然,我们使用
=ArrayFormula(IF((B1:BC1:C)*(A1:a“”)*(C1:C=“”),1,0))
直接在查询公式中构造辅助第二列,以利用group by
子句。将IF
中使用的乘法想象为和so truetrue=1(1*1*1=1)。然后使用外部查询
去除内部查询标签OK。什么是Col1
和Col2
?这是{B2:B,IF((B2:BC2:C)*(A2:A“”)*(C2:C=“”),1,0)}
查询的结果吗?Col1表示花括号{B2:B,…}的左侧,Col2表示函数{…,IF()}的右侧