如何在Excel中自然分支?

如果我的工作簿的简化版本是这样的:

Sheet1: Id Case Rate 101 3 ? 204 1 ? 313 1 ? ... Sheet2: Case Rate 1 0.3 2 0.8 3 0.7 

我想基于sheet2填充sheet1中的Rate列,我试图像它一样硬编码

 =if(B2=1, 0.3, if(B2=2, 0.8, if(B3=3, 0.7))) 

它适用于这个简单的例子,但实际上我有大约20个分支,所以它是硬编码的繁琐。 我期待着像

 =BranchAndAssign(Sheet2!$A$1:$A$3, Sheet2!$B$1:$B$3) 

在Excel中可能吗? 还是有更好的办法可以做到这一点?

你需要VLOOKUP

 =VLOOKUP(B2, Sheet2!A:B, 2) 

在这里输入图像说明

使用IndexMatch ,或使用VLookup

例如在Sheet1单元格C2 Sheet1

 INDEX(Sheet2!$B$2:$B$4, MATCH(B2, Sheet2!$A$2:$A$4,0)) 

这就是说:“在数组Sheet2!$A$2:$A$4查找与B2完全相同的值的rownumber,然后从数组Sheet2!$B$2:$B$4返回该数值。

  • 这是MATCH的第三个参数中的0指示的内容

阅读更多在MSDN:

比赛 指数 VLookup

我想你要找的是lookup table (VLOOKUP)。

你正在寻找的是在Excel中的VLOOKUP

假设您的工作表2数据分布在Range C2 to D5并且您的工作表1数据分布在B3 TO D6 ,请使用Sheet1 range D3的以下公式

在这里输入图像说明