excel:通过没有VBA的列“循环”?

时间:2017-08-14 20:19:59

标签: excel excel-formula

我有以下内容:

A B C ... L N M AL AN AM
1 0 1 ... 0 1 1 0  1  1
0 1 0 ... 1 0 0 0  0  0

是否有一个公式循环遍历每一列并将值与列LNM进行比较,如上面的tabe(AL = A AND L,AN = A和N,AM = A和M,然后是BL,BN,BM等等上)?

修改:table

基本上在L2中,如果A2 = 1且I2 = 1则L2 = 1,否则为0.对于M2(A2 = 1和J2 = 2)和N2也是如此。然后它重复O2(O2 = B2和I2),依此类推。我试图使用偏移函数并填充其余的列,但问题是我不知道如何“循环”回来,以便每个列值检查列I J K,如截图所示。我正处于学习Excel的新手阶段,任何帮助都会受到赞赏!!

2 个答案:

答案 0 :(得分:0)

鉴于列标题包含两个相应列标题的串联,您需要我的解决方案的值是形式(作为伪公式)

IF( INDEX(values,MATCH(LEFT(col_head),col_headers) & INDEX(values,MATCH(RIGHT(col_head),col_headers)) ="11",1,0)

在标题中,我建议您使用" |"作为分隔符,然后可以用作标记来确定“左”和“左”。从'右',例如Boy_A|Race_B

这样做L2中的公式看起来像: =IF(INDEX($A2:K2,MATCH(LEFT(L$1,FIND("|",L$1)-1),$A1:K1,0))&INDEX($A2:K2,MATCH(RIGHT(L$1,LEN(L$1)-FIND("|",L1)),$A1:K1,0))="11",1,0)

请注意,范围在LHS上具有绝对参考,因此它们始终从A列开始,并在RHS上开始相对参考。

答案 1 :(得分:0)

您可以在L2尝试数组公式(输入然后按 Ctrl Shift Enter )并将其复制/粘贴到您要计算的所有单元格中(参见附图中的黄色区域):

=--OR((L$1=$A$1:$H$1&"_"&TRANSPOSE($I$1:$K$1))*($A2:$H2*TRANSPOSE($I2:$K2)))

Ctrl Shift 输入< --------

enter image description here