使用vlookup在范围之间集成数字

时间:2018-04-13 23:37:55

标签: excel-formula

我正在使用包含两列(Max Room Height,灯泡数量)的数据表。意图是创建一个公式,该公式提供用户输入房间高度后要使用的灯泡数量的输出。这是技巧,用户输入的房间高度数可以是随机数,并且可以位于两个最大房间高度之间。例如,房间高度数据可用为10英尺,12英尺,14英尺,16英尺,并且用户输入房间高度为15英尺,公式应该能够拾取对应于16英尺高度的灯泡数量。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用某些内置Excel功能来根据房间高度确定要使用的灯泡数量。以下是使用INDEX(...)MATCH(...)MIN(...)的示例:

Example Spreadsheet with LibreOffice Calc v5.1.6.2

我目前无权访问Excel,但这在LibreOffice Calc v5.1.6.2中有效。 Excel似乎具有可比较的功能。

Long Winded说明

请继续阅读,以防图片价值千言万语!

表/数据配置

  1. 创建一个包含两列的表(示例图像中的列E和F)。
    • 第一列(E列)以降序表示高度上限。注意10000的上限。
    • 第二列(F列)表示给定房间高度落在高度边界内时要使用的灯泡数量。
    • 因此,对于此示例,10000(包括)和16(不包括)之间的值应该声明忘记灯泡并且只使用太阳。 16(含)和14(不含)之间的值应说明使用4个灯泡。 14(含)和12(不含)之间的值应说明使用3个灯泡......等等。
  2. 创建第二个表,其中包含两列数据和结果(下例中的列A和B;列C仅用于说明目的)。
    • 第一列(A列)将包含"用户输入" (即可以查找灯泡数量的可变房间高度)。
    • 第二列(B列)将包含公式,用于根据"用户输入"计算要使用的灯泡数量。以及我们创建的第一个表中定义的高度边界。
  3. 公式/计算

    让我们分解将进入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有效。