给定以下 Excel 表格:
+---+--------+----+----+
| | A | B | C |
+---+--------+----+----+
| 1 | Filter | V1 | V2 | <-- header row of the table, with filtering option
+---+--------+----+----+
| 2 | F1 | x | x |
| 3 | F2 | x | y |
| 4 | F1 | x | y |
+---+--------+----+----+
我需要计算x
inV1
和V2
列的数量:
=COUNTIF(B2:C4, "x")
这有效并返回4
。现在,如果我过滤表以使该列Filter
仅包含F1
值:
+---+--------+----+----+
| | A | B | C |
+---+--------+----+----+
| 1 | Filter | V1 | V2 | <-- header row of the table, with filtering option
+---+--------+----+----+
| 2 | F1 | x | x |
| 4 | F1 | x | y |
+---+--------+----+----+.
第一个公式仍然返回4
。我已经找到了如何改进它,以便考虑可能的过滤器(这个解决方案可以很容易地在 Internet 上找到):
=SUMPRODUCT((B2:C4="x") * SUBTOTAL(3, OFFSET(B2:C4, ROW(B2:C4) - MIN(ROW(B2:C4)), 0, 1, 1)))
正如预期的那样,这将返回3
第二种情况。问题是:它是如何工作的?有人能给我详细介绍第二个公式吗?