Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 聚合函数未按预期工作_Function_Formula_Libreoffice Calc - Fatal编程技术网

Function 聚合函数未按预期工作

Function 聚合函数未按预期工作,function,formula,libreoffice-calc,Function,Formula,Libreoffice Calc,我有一个在Excel中运行的公式,我还以为它在LibreOffice中运行,但我在不同的程序中得到了不同的结果。我正在处理一个数万行长的论坛数据库,所以我不能像这里这样手动操作 我有一个表,应该是这样的(在Excel中是这样的): 我正在尝试在“threadid”中查找最后一个“messageid”。如果“replyto”是0,则得到一个结果,如果不是0,则为空 我在Excel中成功地使用了此功能: =IF(C2=0,AGGREGATE(14,6,$A$2:$A$24/($B$2:$B$24=B

我有一个在Excel中运行的公式,我还以为它在LibreOffice中运行,但我在不同的程序中得到了不同的结果。我正在处理一个数万行长的论坛数据库,所以我不能像这里这样手动操作

我有一个表,应该是这样的(在Excel中是这样的):

我正在尝试在“threadid”中查找最后一个“messageid”。如果“replyto”是
0
,则得到一个结果,如果不是
0
,则为空

我在Excel中成功地使用了此功能:

=IF(C2=0,AGGREGATE(14,6,$A$2:$A$24/($B$2:$B$24=B2),1),"")
在LibreOffice中,我使用相同的函数得到不同的结果。我得到的不是A列中显示的最后一个(最大)数字,而是第一个数字,因此看起来如下:

messageid   threadid    replyto Last messageid in thread
3550        3550        0       3550
3867        3867        0       3867
3947        3867        3867        
3998        3867        3947        
4337        3867        3998        
4414        3867        4337        
4481        3867        4414        
4677        3867        3867        
3925        3925        0        3925
4653        3925        3925        
4959        3925        4653        
7200        3925        3925    
4092        4092        0        4092
5800        5800        0        5800
5802        5802        0        5802
7202        7202        0        7202
7203        7203        0        7203
7294        7203        7203        
7305        7203        7203        
7342        7203        7203        
7406        7203        7342        
7436        7203        7305        
7656        7203        7203   

有人能帮我吗?

似乎
Calc
无法将
$A$2:$A$24/($B$2:$B$24=B2)
作为公式中的数组直接获取

数组公式:

{=IF(C2=0,MAX(IF($B$2:$B$24=B2,$A$2:$A$24,0)),"")}
可以在
Excel
Calc
中使用

要在Excel中输入数组公式,请将公式输入到不带花括号的单元格中,然后按Ctrl+Shift+enter键确认。然后会自动显示花括号


要在Calc中输入数组公式,请在不带花括号的单元格中输入公式。然后使用[fx]按钮打开功能向导。将[x]数组按钮设置为选中。在Calc中,不要使用单元格的填充句柄向下填充数组公式,因为这会导致扩展目标数组范围,而不会复制公式。而是将其复制到剪贴板并粘贴到多个目标单元格。

根据您的回答,我正准备写同样的内容。
{=IF(C2=0,MAX(IF($B$2:$B$24=B2,$A$2:$A$24,0)),"")}