查看一系列数字的值是否增加的公式?

Mos*_*she 8 spreadsheet google-spreadsheets worksheet-function microsoft-excel

我有一张包含数千组数字的电子表格。也就是说,有十列,每列都有一个数字 - 这些数字有数千行。

我想做的是检查每一行的数字是否在增加。例如,假设这是第一行(每个数字都是一个单独的列):

13. 17. 25. 37. 39. 40. 53. 61. 68. 71
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,数字都在增加。现在让我们想象这是第二行:

13   5.  3. 18. 34. 17. 49. 83. 63. 71 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,起始数字和结束数字与第一组数字相同,但所采取的路径却截然不同。

我想要一个公式来评估增长的持续性。

有任何想法吗?

Tom*_*ter 31

您可以使用数组公式来完成此操作:

数组公式

假设您的数据位于 中A1:J1,然后在单元格中输入以下公式=AND(B1:J1>A1:I1),然后按Ctrl+ Shift+Enter创建数组公式 - 请注意,Excel 会{}自动将公式换行(您无法手动进行换行!)。在 Google Sheets 中,您可以使用函数ArrayFormula内部AND而不是 Excel 快捷方式:AND(ArrayFormula(B1:J1>A1:I1))

这将对 进行逐元素计算>,然后检查它们是否都为真。请注意,两个范围偏移了一个单元格,但长度相同,因此B1A1将进行比较、C1比较B1,依此类推。然后结果数组将被传入以AND检查它们是否都为真。

为第一行插入数组公式后,如果有多行,只需向下拖动每行的公式即可。


或者,如果由于某种原因您不想使用数组,则可以在不添加其他单元格范围的情况下执行此操作,而无需在数字列表下方或旁边(或任何地方,老实说)添加其他单元格范围。在这个额外的单元格范围内,您可以对每个单元格进行比较。

比较公式

数据从 开始A1,然后在单元格中B2添加公式(B1 > A1),然后拖动公式以匹配数据的宽度(公式将自动更新引用)。最后,您只需要检查所有这些单元格是否都为真,这可以通过AND(B2:J2).

  • 数组方案在各方面都比第一种方案优越,我觉得放在第一位会更好。 (6认同)
  • 很好的答案汤姆,我没有采用数组解决方案的原因是由于CPU使用率,并且数组函数会在对工作表进行任何更改时更新,因此任何时候更改数字时都会重新触发所有数千个数组并且必须重新计算。这就是为什么我尽可能避免使用数组计算,更大的公式总是比数组提供更好的性能。 (2认同)

ths*_*hea 8

由于您标记了 google-spreadsheets,因此您还可以使用 anArrayFormula来简化一个公式:

=AND(ARRAYFORMULA(B1:J1>A1:I1))

如果行数发生变化,您可以相应地调整J1和。I1

如果右侧的所有列均为空白,则=AND(ARRAYFORMULA((B1:Z1>A1:Y1)+(ISBLANK(B1:Z1))))只要后面的列均为空白,您就可以自动处理最多 26 列。


Luk*_*ard 2

=IFERROR(IFS(B6<A6,FALSE,C6<B6,FALSE,D6<C6,FALSE,E6<D6,FALSE,F6<E6,FALSE,G6<F6,FALSE,H6<G6,FALSE,I6<H6,FALSE,J6<I6,FALSE),TRUE)
Run Code Online (Sandbox Code Playgroud)

我相信这将是最简单的方法。

IFS 将每个数字与之前的数字进行比较,如果低于之前的数字,则返回 FALSE。

如果所有数字都大于前一个数字,则 IFS 将不会产生输出,从而导致 NA 错误。

ISERROR 会将 NA Error 转换为 TRUE,这意味着数字都在增加。

要获取有多少个数字大于序列中前一个数字的计数:

=COUNTIF(B11,">" & A11)+COUNTIF(C11,">" & B11)+COUNTIF(D11,">" & C11)+COUNTIF(E11,">" & D11)+COUNTIF(F11,">" & E11)+COUNTIF(G11,">" & F11)+COUNTIF(H11,">" & G11)+COUNTIF(I11,">" & H11)+COUNTIF(J11,">" & I11)
Run Code Online (Sandbox Code Playgroud)

每次计数都会将当前数字与先前的数字进行比较,并且仅在数字较大时才进行计数,然后将所有计数加在一起。