图像和公式

图像和公式

在 LibreOffice Calc 中,我创建了一个掷骰子表。在 A6:B1005 中,我在 A 列中列出了数值,在 B 列中列出了具有该数值的掷骰子次数。以 d10 为例:

模具价值 卷数
1 7
2 10
3 8
4 8
5 15
6 16
7 7
8 9
9 十三
10 7
11 0
12 0

单元格 D3 定义了骰子的面数。

我想要做的是从 B 列中获取骰子边范围内的最小值和最大值。我当前的公式是{=MIN(IF(A6:A10005 >= D3; B6:B10005))},但返回 0。我该如何更改公式以计算 D3 中的值?换句话说,我想返回 B6:B1005 范围内的最小值,仅包括 A6:A1005 >= D3 的值。

答案1

我昨晚终于弄清楚了,方法如下:

图像和公式

单元格 D2 和 D3 定义骰子的数量以及每个骰子的面数:
骰子数量和每个骰子的面数
数量:100d。面数:d20

单元格 A6:Bn列出骰子的结果以及每个面的结果数量:
模具结果列表
骰子、骰子每个面的点数和计数。

在单元格 A3:B3 中,我列出了最低值和最高值,并在括号中进行了计数:
最低和最高结果以括号计数。
最低和最高:16(1)/6(11)

为了编写此函数,我不得不产生一个非常可怕的嵌套concatenate,但它完成了工作:

=KJED.SAMAN(INDEKS(A6:A10005;
SAMANLIKNA(N.MINST(B6:B10005;
TEL.VISS(A6:A10005;">="&D3));B6:B10005;0));
"(";N.MINST(B6:B10005;
TEL.VISS(A6:A10005;">="&D3));")/";INDEKS(A6:A10005;
SAMANLIKNA(N.STØRST(B6:B10005;1);B6:B10005;0));
"(";MAKS(B6:B10005);")")

=CONCATENATE(INDEX(A6:A10005;
MATCH(SMALL(B6:B10005;
COUNT.IF(A6:10005;">="&D3));B6:B10005;0));
"(";SMALL(B6:B10005;
COUNT.IF(A6:A10005;">="&D3);")/";INDEX(A6:A10005;
SAMANLIKNA(LARGE(B6:B10005;1);B6:B10005;0));
"(";MAX(B6:B10005);")")

解释

这实际上就是左派LOOKUP

MATCH工作原理

`=MATCH(搜索条件;搜索范围;类型[0,1])

通过查看源单元格(例如包含值 101 的 B1),然后查看数据范围(例如产品列表),该值将返回在列表中找到数据的数字。示例:

  A                   B
1 Enter product type: 902
2
3 Jackets             900
4 Trousers            901
5 Shoes               902

对于此示例,MATCH如果查找区域 B3:B5,则会返回值 3,因为“102”是与 B1 中输入的产品编号匹配的第三行。

结合INDEX

通过查看指定来源,我们可以收集相关数据。我们已经收集了数字 4。结构是INDEX(reference;row;column;area)。让我们改进我们的数据示例:

A C F
1 产品类别: 902
2
3 产品编号 物品 品牌 物品 产品编号
4 900 尼克 夹克 900
5 901 利维斯 裤子 901
6 902 尼克 902
7 903 帽子 903
8 904 利维斯 围巾 904
A B C D E F

在单元格 B4 中,我们可以输入函数=INDEX(E$4:E$8;MATCH(B4;F$4:F$8;0)),然后将其粘贴到范围 B4:B8 中。这将执行的操作是查看范围 E4:E8 中的项目范围,然后针对其行转到 MATCH 公式,其中我们首先获取员工在 B4 中输入的数据(项目编号 902),然后查看范围 F4:F8 以找到该数字,最后将其返回到索引,该索引列出了单元格 B4 中的预期“鞋子”。

SMALLLARGE

最后,还有获取正确小数的问题。MIN没有用,因为其中包含零。我需要公式来查看整个范围,因为骰子上的面数可能会增加。(在 Hackmaster 中,我们甚至使用 d10000 来表示致命一击。)让我们再看一下公式:

SMALL(B6:B10005;COUNT.IF(A6:10005;">="&D3))

这样做的目的是,查看区域 B6:B10005,其中列出了每个结果的命中次数,然后使用 aCOUNT.IF查找左列中列出可能的骰子面数的数字,最后从单元格 (D3) 中收集最大数字,其中列出了骰子面数。标准之所以这样写 ( ">="&D3),是因为当标准不是数字时,必须在引号中表示。表达式通过 & 符号与单元格引用连接。

相关内容