1

我正在使用 Excel 2010,并且正在寻找一种方法来返回列的第一个负数。例如,我将以下数字分布在一列中: 1 4 6 -3 4 -1 -10 8 我可以使用哪个函数返回 -3?谢谢!

4

2 回答 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 回答