【问题标题】:Extracting data with Vlookup and checking values with Arrayformula使用 Vlookup 提取数据并使用 Arrayformula 检查值
【发布时间】:2021-09-23 05:31:02
【问题描述】:

我需要将数据从一个选项卡(提取的数据)提取到另一个选项卡,并通过以下方式验证数据:

如果 0% 分配 3 如果从 0 到 -10% 分配 2 如果从 -10% 及以上分配 1 如果从 0% 到 10% 分配 4 如果从 10% 及以上分配 5

这里是文件https://docs.google.com/spreadsheets/d/1f8SFi2hNP6Anav7G7BYWyK-fasPk1pT1A2HFJblT-FI/edit?usp=sharing的链接

【问题讨论】:

    标签: arrays google-sheets-formula vlookup spreadsheet array-formulas


    【解决方案1】:

    我建议你使用两个 vlookup。

    如果您有一个名为“范围”的选项卡,其中包含以下两列:

    Percentage  Result
    -1000%      1
    -10%        2
    0%          3
    10%         4
    11%         5
    

    那么“计算”选项卡上单元格B1 中的公式将类似于:

    =arrayformula({"Con Potential";iferror(vlookup(vlookup(A2:A,'Extracted data'!A:D,4,0),Ranges!A:B,2,1),)})
    

    删除单元格B1 下方的所有数据,以使arrayformula 正常工作。

    第二个 vlookup 引用了“提取的数据”选项卡上的 col D,因为这是我认为您正在比较的百分比?如果没有,请将 vlookup 中的 4 更改为另一列。

    如果有帮助,请参阅: https://stackoverflow.com/help/someone-answers

    注意:您可以使用固定数组代替Ranges!A:B

    =arrayformula({"Con Potential";iferror(vlookup(vlookup(A2:A,'Extracted data'!A:D,4,0),{-10,1;-0.1,2;0,3;0.1,4;0.11,5},2,1),)})
    

    如果您想临时查看固定数组以防您想编辑任何值,请将其放置在不碍事的单元格中:

    ={-10,1;-0.1,2;0,3;0.1,4;0.11,5}
    

    , 用于跳转到新列,; 用于返回。

    相关性

    查看“Position Delta”中的“相关性”查找以及工作表中的此表:

    由于 10 的“位置增量”值不能同时具有 5 和 4 的相关性,所以我假设 10 得到 5。如果这不正确,那么我将调整边界。

    将此添加到“计算”选项卡上的单元格C1(清除下面的所有单元格):

    =arrayformula({"Relevance";iferror(vlookup(vlookup(calculations!A2:A,'Extracted data'!A:D,3,0),{0,5;11,4;21,3;31,2;41,1;51,0},2,1),)})
    

    固定数组{0,5;11,4;21,3;31,2;41,1;51,0} 具有以下值:

    0   5
    11  4
    21  3
    31  2
    41  1
    51  0
    

    如果您需要更改边界,因此 10 是 4,而不是 5,则更改 vlookup 以使用此固定范围 {0,5;10,4;20,3;30,2;40,1;50,0}

    0   5
    10  4
    20  3
    30  2
    40  1
    50  0
    

    vlookup 是递增的,任何到 11 的都将得到 5,然后 11 到 20 将得到 4,21 到 30 将得到 3,依此类推。

    最右边的 vlookup 中的,1) 获取最接近的值匹配,直到“位置增量”到达下一个边界。

    【讨论】:

    • 是的,您可以将Ranges!A:B 替换为固定数组:{-10,1;-0.1,2;0,3;0.1,4;0.11,5} - 我会更新解决方案。
    • 很高兴为这个额外的元素提供帮助。由于 Stack Overflow 会根据所花费的时间来计算答案,您是否打算投票或接受任何对您有帮助的先前工作? stackoverflow.com/help/someone-answers
    • 谢谢。您不需要每个范围“x-y”中的两个值。我会尽快编辑解决方案。
    • 更新的解决方案。让我知道“位置增量”的边界是否错误。
    • 在上面的解决方案中,在“相关性”部分下。页面刷新?
    猜你喜欢
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    相关资源
    最近更新 更多