Function 聚合函数未按预期工作
我有一个在Excel中运行的公式,我还以为它在LibreOffice中运行,但我在不同的程序中得到了不同的结果。我正在处理一个数万行长的论坛数据库,所以我不能像这里这样手动操作 我有一个表,应该是这样的(在Excel中是这样的): 我正在尝试在“threadid”中查找最后一个“messageid”。如果“replyto”是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
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)),"")}