![OpenCalc 是否有任何公式可以计算包含某些值但不包含其他值的行?](https://linux22.com/image/1588499/OpenCalc%20%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E5%85%AC%E5%BC%8F%E5%8F%AF%E4%BB%A5%E8%AE%A1%E7%AE%97%E5%8C%85%E5%90%AB%E6%9F%90%E4%BA%9B%E5%80%BC%E4%BD%86%E4%B8%8D%E5%8C%85%E5%90%AB%E5%85%B6%E4%BB%96%E5%80%BC%E7%9A%84%E8%A1%8C%EF%BC%9F.png)
我有以下细胞结构OpenCalc
:
|--A--|--B--|--C--|--D--|--E--|
|--1--| A1 | B1 | C1 | D1 | E1 |
|--2--| A1 | B1 | C1 | D1 | E1 |
|--3--| A1 | C1 | D1 | E1 | F1 |
有没有办法创建一个公式,可以计算出该数据结构中包含A1
但不包含的所有行B1
?
单元格中的数据可以从开始到结束A1 --> O1
,每行有5列数据,单行中的数据不能重复。
通过上述摘录,计算公式后的单元格对我来说应该包含 1。
答案1
这比看上去要复杂得多。一个问题是目标值可以位于任何列中。另一个问题是,一个目标不能位于任何列中。另一个问题是,您无法处理整个范围,规则需要逐行应用。喝了更多的咖啡,我可能会想到一个一步到位的公式,但我想到的是一个使用辅助列的解决方案。
我将使用 F 列作为辅助。有很多变体可以为您提供正确的值,但请在 F1 中使用此列,然后根据需要向下复制该列:
=(COUNTIF(A1:E1,"A1")*(COUNTIF(A1:E1,"B1")=0))
如果在任意列中找到“A1”(您指定值只能在一行中出现一次),则第一个 COUNTIF 返回TRUE
或。第二个 COUNTIF 在每一列中查找“B1”,并且只有当没有列包含它时才返回或。如果两个条件都为真,则将这些结果相乘得出该行的 ,否则。1
TRUE
1
1
0
将 F 列中的值相加即可得出计数结果。您可以将总数粘贴在列底部,或用=SUM(F:F)
在方便的位置。
我使用 LO Calc,它有一个设置,可以使用标准 Excel 符号,而不是 OpenOffice 标准。在 OpenOffice 中,您可能需要寻找类似的设置或调整公式以反映 OpenOffice 如何指定单元格和范围引用。