我有以下细胞结构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 如何指定单元格和范围引用。