如何在 libreoffice 中构建 "argmax" 函数

How to build "argmax" function in libreoffice

我想知道如何在 libreoffice 中构建 argmax 函数中完成的工作。我想一定有办法不用basic。

让我用一个例子告诉你我的意思。如果我有一个 table,其中包含 1 月至 4 月的以下数据。我如何计算显示为最大值的列,以便我获得水果的值和列中的总数总计达到最大值(此处为 16),因此显示在最大值以下的所有内容均应由该函数计算。

                            maximum
        Jan Feb Mar Apr     Mar
apples  -5  3   7   1       7
oranges 2   5   2   5       2
bananas 17  2   7   9       7
total   14  10  16  15      16

我尝试使用 MAX 来获取总计的最大值,然后使用 VLOOKUP 但它似乎只在数据垂直对齐且我的真实数据不是整数数据时才有效, 所以我不确定我是否能保证得到结果,因为四舍五入等问题

第一步实际上是找到总计行的 MAX() 函数。

然后,使用 MATCH() 函数,确定找到的最大值距离具有名称的第一列有多远。

最后,使用 OFFSET() 函数,从所需位置获取整个列 - 从标题列移动到找到的最大位置。

{=OFFSET($A:$A;0;MATCH(MAX($A:$E);$A:$E;0)-1)}