我正在使用 Excel 2010,并且正在寻找一种方法来返回列的第一个负数。例如,我将以下数字分布在一列中: 1 4 6 -3 4 -1 -10 8 我可以使用哪个函数返回 -3?谢谢!
问问题
18641 次
2 回答
3
这可以用两种方式解释……如果所有数字都在单个单元格(一列)中作为字符串,则可以使用 MID 函数。如果数字在 A1 中,则可行的公式是:
=VALUE(MID(A1,SEARCH("-",A1),SEARCH(" ",A1,SEARCH("-",A1))-SEARCH("-",A1)))
如果每个数字都在自己的列中(在我的示例中,A3:H3),则必须使用不同的技术:
{=INDEX(A3:H3,1,MATCH(TRUE,A3:H3<0,0))}
不要输入 { } - 使用CTRL+ SHIFT+输入等式ENTER。
在每种情况下,公式都将返回数字 -3,这是系列中的第一个负数。
于 2013-09-24T21:05:49.587 回答
0
另一种可能性,避免使用数组公式(这是性能问题的一大来源):
=LOOKUP(1;1/(M2:M15<0);M2:M15)
(我假设你的数字在 M2:M15 范围内)。
这将返回匹配“<0”条件的第一个数字。您可以使用任何其他条件,包括文本比较。
您还可以提取与匹配单元格对应的另一个数组的值:
=LOOKUP(1;1/(M2:M15<>"OK");T2:T15)
在此示例中,将在 m2:m15 数组中搜索包含“OK”以外的另一个字符串的第一个单元格,并返回数组 t2:t15 中的相应值。
请注意,应尽可能避免使用查找功能(但在这种情况下,它非常方便!)
(我从这篇文章中得到了这个答案的原始灵感)
于 2018-09-11T11:12:04.247 回答