Excel - 用于计算多对非连续列中的条目的公式



我有以下示例矩阵:

A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   
1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
2   1       1                               1
3                   1   1       1   1   1                               1
4       1   1   1   1   1                   1      
5           1                   1               1   1   1       1           1

我正在尝试计算至少一对非连续列(不包括行 A(包含两列中的条目的行数。列对是已知的,但列之间的距离不是恒定的。在当前示例中,列 B 和 K 和 C & L 配对(距离或 d = 9(,E & I 和 F&J 配对 (d = 4(,G & S 和 H&T 配对(d = 12(。请注意,列 D 未与任何其他列配对。这种情况经常发生:通常在没有内在配对的列之后,配对之间的列距会发生变化,例如,A&E(d = 4(,B&F(d = 4(,C没有配对,D&K(d = 7(,E&L(d = 7(等。

在当前示例中,至少一对列(如上所述(包含条目的行数为 3。例如,第 1 行包含所有列对的条目,第 3 行包含列对 F 和 J 以及 G & S 的条目,第 4 行包含列配对 C 和 L 的条目。

这是我编写的数组公式的示例:

=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(C1,ROW(C1:C5)-ROW(C1),0,1,COLUMNS(C1:D1)))>1,SUBTOTAL(2,OFFSET(A1,ROW(A1:A5)-ROW(A1),0,1,COLUMNS(A1)))))

它计算顺序列对的条目数(例如,B&C,C & D(。我不确定如何更新它,以便它指定非顺序列对(例如,B&K,C & L,E & I 等,如上所述(。

以下是一些条件:

  • 您可能不认为小计是最有效的选项(例如,MMULT abd SUBTOTAL可能更合适(;但是,我仅限于在单个 excel 公式中表达这一点(不幸的是,没有 VBA 代码(。我也无法创建新列或新行
  • 矩阵
  • 条目在实际矩阵中不一定是 1,但它们是整数(范围从 1 到 100(。
  • 在完整矩阵中,有 8 个距离 = 9 的列对,距离为 12 的 11 列配对和距离为 3 的 3 列配对。

试试这个公式

=SUM(IF((
IF(B1:B5>0,IF(K1:K5>0,1))+
IF(C1:C5>0,IF(L1:L5>0,1))+
IF(E1:E5>0,IF(I1:I5>0,1))+
IF(F1:F5>0,IF(J1:J5>0,1))+
IF(G1:G5>0,IF(S1:S5>0,1))+
IF(H1:H5>0,IF(T1:T5>0,1))
) > 0, 1, 0))

您可以在上面的列表中添加剩余的对,我已经添加了您提到的那些。

相关内容

最新更新