Excel在连续打印其他列的行中打印特定数字

时间:2017-10-02 17:44:32

标签: excel excel-formula

我有一个包含3列和10万行的excel文件。我的目标是打印A列的编号,其中C列中的数字是最大值,B列中的数字高于或等于0.9。像这个例子:

-----+------+-----
   A |    B |   C
-----+------+-----
   1 |  0.9 | 130
   2 |    0 | 200
   3 | 0.95 |  90

在这个例子中,例如它应该打印'1',因为第1列和第3列高于0.9但是在C列中1高于3.无论如何要在Excel中执行此操作?

4 个答案:

答案 0 :(得分:0)

由于没有=MAXIFS()公式,因此非常难看。相反,数组公式将起到作用:

=SUMIFS(A1:A3, C1:C3,MAX(IF(B1:B3>=0.9, C1:C3, 0)), B1:B3,">=.9")

输入时按Ctrl + Shift + Enter键,Excel将解释为数组公式。

Sumifs()这里并没有总结多个值,所以不用担心。我们正在抓取A1:A3的值,其中C1:C3等于MAX()大于或等于B1:B3的列的.9。这解决了max()问题。然后,我们只允许选择A1:A3 B1:B3大于或等于.9

它不漂亮,它要求我们检查>=.9条件两次,但是它可以完成工作。

答案 1 :(得分:0)

假设C列中的数据是正数(或至少是最大值为正数),您可以使用此数组公式:

.AddJsonFile("appsettings.{env.EnvironmentName.ToLower()}.json")

请注意,这是一个数组公式,因此您必须在输入公式后按 Ctrl + Shift + Enter

答案 2 :(得分:0)

尝试在单元格=SUMPRODUCT(INDEX(A2:A20,MATCH(MAX(--($B$2:$B$20>=0.9)*C2:C20),--($B$2:$B$20>=0.9)*C2:C20,0),1))中使用此数组公式D2。使用CTRL+SHIFT+ENTER确认。

enter image description here

答案 3 :(得分:0)

这是数组公式(意味着你必须单击 Ctrl + Shift + 完全输入)我想出的:

=INDEX(A:C,MATCH(MAX(--(B:B>=0.9)*(C:C)),(B:B>=0.9)*(C:C),0),1)

请注意我使用了整个列,但我建议只使用更快速度所需的范围。