使用 Vlookup 提取数据并使用 Arrayformula 检查值
Extracting data with Vlookup and checking values with Arrayformula
我需要将数据从一个选项卡(提取的数据)提取到另一个选项卡并按以下方式验证数据:
如果0%分配3
如果从 0 到 -10% 分配 2
如果从 -10% 或更多分配 1
如果从 0% 到 10% 分配 4
如果从 10% 或更多分配 5
这里是 link 文件 https://docs.google.com/spreadsheets/d/1f8SFi2hNP6Anav7G7BYWyK-fasPk1pT1A2HFJblT-FI/edit?usp=sharing
我建议你使用两个 vlookup。
如果您有一个名为 'Ranges' 的选项卡,其中包含以下两列:
Percentage Result
-1000% 1
-10% 2
0% 3
10% 4
11% 5
那么 'calculations' 选项卡上单元格 B1
中的公式将类似于:
=arrayformula({"Con Potential";iferror(vlookup(vlookup(A2:A,'Extracted data'!A:D,4,0),Ranges!A:B,2,1),)})
删除单元格 B1
下的所有数据以使 arrayformula
正常工作。
第二个 vlookup 引用 'Extracted data' 选项卡上的列 D,因为我认为这是您比较的百分比?如果不是,请将 vlookup 中的 4
更改为另一列。
如果有帮助,请看:
https://whosebug.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}
,
用于跳到新列,;
用作 return。
相关性
正在查看来自 'Position Delta' 的 'Relevance' 查询和 sheet 中的这个 table:
由于 'position delta' 值 10 不能同时具有 5 和 4 的相关性,我假设 10 得到 5。如果这不正确,那么我将调整边界。
将此添加到 'calculations' 选项卡上的单元格 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,依此类推。
,1)
在最右边的 vlookup 中获取最接近的值匹配,直到 'position delta' 到达下一个边界。
我需要将数据从一个选项卡(提取的数据)提取到另一个选项卡并按以下方式验证数据:
如果0%分配3 如果从 0 到 -10% 分配 2 如果从 -10% 或更多分配 1 如果从 0% 到 10% 分配 4 如果从 10% 或更多分配 5
这里是 link 文件 https://docs.google.com/spreadsheets/d/1f8SFi2hNP6Anav7G7BYWyK-fasPk1pT1A2HFJblT-FI/edit?usp=sharing
我建议你使用两个 vlookup。
如果您有一个名为 'Ranges' 的选项卡,其中包含以下两列:
Percentage Result
-1000% 1
-10% 2
0% 3
10% 4
11% 5
那么 'calculations' 选项卡上单元格 B1
中的公式将类似于:
=arrayformula({"Con Potential";iferror(vlookup(vlookup(A2:A,'Extracted data'!A:D,4,0),Ranges!A:B,2,1),)})
删除单元格 B1
下的所有数据以使 arrayformula
正常工作。
第二个 vlookup 引用 'Extracted data' 选项卡上的列 D,因为我认为这是您比较的百分比?如果不是,请将 vlookup 中的 4
更改为另一列。
如果有帮助,请看: https://whosebug.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}
,
用于跳到新列,;
用作 return。
相关性
正在查看来自 'Position Delta' 的 'Relevance' 查询和 sheet 中的这个 table:
由于 'position delta' 值 10 不能同时具有 5 和 4 的相关性,我假设 10 得到 5。如果这不正确,那么我将调整边界。
将此添加到 'calculations' 选项卡上的单元格 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,依此类推。
,1)
在最右边的 vlookup 中获取最接近的值匹配,直到 'position delta' 到达下一个边界。