Excel - 多对列的缩小数组公式
Excel - Downsize Array Formula For Multiple Pairs of Columns
我有以下示例矩阵:
A B C D E
1 1 1 1 1
2 1 1
3 1 1
4 1 1
5 1 1
我的任务是计算至少一对列(不包括 A 行)在两列中都包含条目的行数(例如,B 和 C 构成一对,D 和 E 构成另一对)。在上面的示例中,答案是 3:第 1 行包含两对列的条目,第 3 行包含第一对列 (B & C) 的条目,第 4 行包含第二对列 (D & E) 的条目).这是 3 行,其中至少包含一对指定列的数据。
下面的数组公式达到了预期的结果:
=COUNT(IFS(SUBTOTAL(2,OFFSET(B1,ROW(B1:B5)-ROW(B1),0,1,COLUMNS(B1:C1)))>1,SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1))),SUBTOTAL(2,OFFSET(D1,ROW(D1:D5)-ROW(D1),0,1,COLUMNS(D1:E1)))>1,SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1)))))
问题是,我有大约 30 对列(有些不相邻)和一个相对较大的数据集(最多 10,000 行)。我正在寻找一种更有效的方法来在 Excel 公式中实现所需的结果。 请注意,我希望避免创建新的行或列,这就是我使用数组公式的原因
不太清楚为什么要在示例中包括 A 列,如果它实际上是不相关的。
因此,对于范围 B1:E5
:
=SUMPRODUCT(N(MMULT((B1:D5<>"")*(C1:E5<>"")*ISEVEN(COLUMN(C1:E5)-MIN(COLUMN(C1:E5))),ROW(INDEX(A:A,1):INDEX(A:A,COLUMNS(B1:D5)))^0)>0))
根据需要扩展范围,但请注意 INDEX
结构中的 A:A
部分应保持不变。
以上不需要 CSE。
此致
我有以下示例矩阵:
A B C D E
1 1 1 1 1
2 1 1
3 1 1
4 1 1
5 1 1
我的任务是计算至少一对列(不包括 A 行)在两列中都包含条目的行数(例如,B 和 C 构成一对,D 和 E 构成另一对)。在上面的示例中,答案是 3:第 1 行包含两对列的条目,第 3 行包含第一对列 (B & C) 的条目,第 4 行包含第二对列 (D & E) 的条目).这是 3 行,其中至少包含一对指定列的数据。
下面的数组公式达到了预期的结果:
=COUNT(IFS(SUBTOTAL(2,OFFSET(B1,ROW(B1:B5)-ROW(B1),0,1,COLUMNS(B1:C1)))>1,SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1))),SUBTOTAL(2,OFFSET(D1,ROW(D1:D5)-ROW(D1),0,1,COLUMNS(D1:E1)))>1,SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1)))))
问题是,我有大约 30 对列(有些不相邻)和一个相对较大的数据集(最多 10,000 行)。我正在寻找一种更有效的方法来在 Excel 公式中实现所需的结果。 请注意,我希望避免创建新的行或列,这就是我使用数组公式的原因
不太清楚为什么要在示例中包括 A 列,如果它实际上是不相关的。
因此,对于范围 B1:E5
:
=SUMPRODUCT(N(MMULT((B1:D5<>"")*(C1:E5<>"")*ISEVEN(COLUMN(C1:E5)-MIN(COLUMN(C1:E5))),ROW(INDEX(A:A,1):INDEX(A:A,COLUMNS(B1:D5)))^0)>0))
根据需要扩展范围,但请注意 INDEX
结构中的 A:A
部分应保持不变。
以上不需要 CSE。
此致