我正在使用包含两列(Max Room Height,灯泡数量)的数据表。意图是创建一个公式,该公式提供用户输入房间高度后要使用的灯泡数量的输出。这是技巧,用户输入的房间高度数可以是随机数,并且可以位于两个最大房间高度之间。例如,房间高度数据可用为10英尺,12英尺,14英尺,16英尺,并且用户输入房间高度为15英尺,公式应该能够拾取对应于16英尺高度的灯泡数量。
答案 0 :(得分:2)
您可以尝试使用某些内置Excel功能来根据房间高度确定要使用的灯泡数量。以下是使用INDEX(...)
,MATCH(...)
和MIN(...)
的示例:
我目前无权访问Excel,但这在LibreOffice Calc v5.1.6.2中有效。 Excel似乎具有可比较的功能。
请继续阅读,以防图片价值千言万语!
让我们分解将进入B列单元格的公式。我在C列中留下了公式的文本。您会注意到MIN(...)
函数的第一个参数每行都会更改。公式的其余部分对于每一行都是相同的。
以第2行为例,我们使用3个嵌套在一起的函数:
MIN(A2,E2)
- 我们希望确保房间高度在我们的处理范围内。这与添加到列E的10000的任意上限一起使用。如果我们没有强制数据适合上边界,我们可能会看到某种错误,如果用户超过了E栏中指定的最大值。MATCH(MIN(A2,E2),E2:E6,-1)
- 基本上,此函数查找用户输入数据的高度范围边界。该功能有三个参数。第一个是用户为此行输入的数据(或任意上限)... MIN(A2,E2)
。第二个是高度范围边界(按降序排列)...... E2:E6
。第三种是匹配类型...... -1
。匹配类型-1表示"搜索下降的值列表,并在您的给定值(即第一个参数)等于或小于降序列表中的值时停止"。如果降序列表中的第一项符合条件,则MATCH(...)
函数返回索引1.如果降序列表中的第二项符合条件,则函数返回索引2 ...等。 / LI>
INDEX(F2:F6,MATCH(MIN(A2,E2),E2:E6,-1))
- 此功能基本上会查找我们的答案"用户的输入。我们找到了"索引"或者"列出位置"使用MATCH(...)
函数输入用户输入的高度范围,我们创建了表格,使每个高度范围的灯泡计数在同一行(即它具有相同的" index"或" list position")。 INDEX(...)
函数接受两个参数。第一个是包含"答案" ... F2:F6
的单元格范围。第二个参数是我们想要返回的应答单元格范围的索引或列表位置(即我们的MATCH(...)
函数的结果)。因此,如果我们的MATCH(...)
函数调用返回" 1",将返回F2:F6范围内的第一个单元格(即F2 - 使用Sun!)。如果我们的MATCH(...)
函数调用返回" 2",将返回F2:F6范围内的第二个单元格(即F3 - 4个灯泡)......等。根据您使用的Excel版本,可能有更好的解决方案。根据撰写本文时的Office文档,此处使用的函数应对Excel 2007到2016有效。