在A列中,有一个订单号列表。在B-F列中,我有不同的产品,以及每种产品已下的订单数。我该如何做,以便当我在I1中输入订单值时,它将把所有带有值的单元格返回到下面的单元格中?
我认为这是我需要的数组,但不是肯定的。这只是一个例子,我正在尝试更大的规模。
答案 0 :(得分:0)
尝试使用此公式,它应该有助于或至少给您一个想法。
=INDEX($B$2:$F$6,MATCH($I$1,$A$2:$A$6,0),MATCH($I2,$B$1:$F$1,0))
答案 1 :(得分:0)
好的,它将是这样的:
在I2中,您的公式是
=INDEX($A$1:$F$1,1,MATCH(TRUE,ISNUMBER(INDIRECT("A"&MATCH(I1,A:A,0)&":F"&MATCH(I1,A:A,0))),0))
在I3中,您的公式是
=INDEX($A$1:$F$1,1,MATCH(TRUE,ISNUMBER(INDIRECT("A"&MATCH(I1,A:A,0)&":F"&MATCH(I1,A:A,0)))*(A1:F1<>I2),0))
在I4中,您的公式应为
=INDEX($A$1:$F$1,1,MATCH(TRUE,ISNUMBER(INDIRECT("A"&MATCH(I1,A:A,0)&":F"&MATCH(I1,A:A,0)))*(A1:F1<>I2)*(A1:F1<>I3),0))
然后就可以了...
对于下面的每个单元格,您将需要对上面的每个单元格重复乘以“(A1:F1 <> I x )”,因为它会评估一个数组,该数组将与其他数组进行比较并返回下一个不是上面任何一种颜色的真实结果就是没有值的颜色。
每个公式都是数组公式(请使用ctrl + shift + enter确认)。您可能知道如何获取J中的值,但以防万一,它是:
=INDEX($A$1:$F$7,MATCH($I$1,A:A,0),MATCH($I2,$A$1:$F$1,0))
PS:我的Excel是葡萄牙语,所以我的参数分隔符是“;”,在此注释中,我确实将其更改为“,”。万一该公式对您不起作用,请尝试查找一些“;”我可能已经错过了,也要注意$$的问题,因为我没有正确锁定I1参考,仍然希望它能对您有所帮助。
答案 2 :(得分:0)
感谢大家的回答。我最终使用了vlookup,然后设置了一个快速宏以根据条件格式运行自动过滤。这是我发现要处理大量数据的最干净的方法。