Regex 寻求列中第一高

Regex 寻求列中第一高,regex,if-statement,google-sheets,google-sheets-formula,array-formulas,Regex,If Statement,Google Sheets,Google Sheets Formula,Array Formulas,不需要数组中的最大值,而是第一个高值。对我来说,高点必须大于下一行(向上)和上一行(向下)减去一 我在这张表中有两个例子,但不知道如何构造一个单元格公式来返回所需的结果。 在工作表示例中列出。尝试: =ARRAYFORMULA(REGEXEXTRACT(JOIN(, IF(N( {M44:M50; ""}>{""; M44:M50})*IF( {M44:M50-1; ""}<{""; M44:M50}, 0, 1)=1, {M44:M50; ""}, "×")),

不需要数组中的最大值,而是第一个高值。对我来说,高点必须大于下一行(向上)和上一行(向下)减去一

我在这张表中有两个例子,但不知道如何构造一个单元格公式来返回所需的结果。

在工作表示例中列出。

尝试:

=ARRAYFORMULA(REGEXEXTRACT(JOIN(, IF(N(
 {M44:M50;   ""}>{""; M44:M50})*IF(
 {M44:M50-1; ""}<{""; M44:M50}, 0, 1)=1, 
 {M44:M50;   ""}, "×")), "\d+.\d+|\d+")*1)
=ARRAYFORMULA(REGEXEXTRACT)(JOIN(,IF(N(
{M44:M50;“}>{”;M44:M50})*如果(

{M44:M50-1;“”}仅用于比较,这将是具有偏移范围的更传统的索引/匹配方法:

=ArrayFormula(index(M45:M49,match(1,(M45:M49>M44:M48)*(M45:M49>(M46:M50-1)),0)))
更普遍地使用具有命名范围的索引:

=ArrayFormula(index(index(range,2):index(range,rows(range)-1),match(1,( index(range,2):index(range,rows(range)-1)>index(range,1):index(range,rows(range)-2) )*( index(range,2):index(range,rows(range)-1)>index(range,3):index(range,rows(range))-1) ,0)))

索引公式可能会起作用吗?我正在努力解决如何使用索引函数的问题,但我猜使用多个条件的索引会是最好的?请帮助。谢谢!因为我只在一个单元格中使用此公式,所以您是否能够改为构造多个条件的索引函数?这将极大地帮助我,因为我可能需要它我想说的是,我非常感谢你之前亲自为我所做的数组公式的应用,因为它们工作得非常出色。我不确定你到底在问什么,但我在这里给你做了充分的解释:检查所有的公式与下一个单元格的下移有关。如果下一个单元格的下移负1小于当前值,则返回true。因此,如果当前值大于上一个单元格和下一个单元格的下移负1,则公式应返回该值。我尝试将公式修改为该值,但似乎不起作用。=ArrayFormula(索引(M45:M49,match(1,(M45:M49>M44:M48)*(M45:M49>(M46:M50-1)),0)))哦,我明白你的意思。你的公式对我有用。是的,但将98.4改为99,它不会从98.1改为99