根据多个条件返回值

时间:2018-06-19 12:48:33

标签: excel vba excel-formula

我遇到的情况是,在工作簿的2张纸上设置了2张桌子。表一看起来像

<table style="width:50%">
  <tr>
    <th>Zone</th>
    <th>Journey</th> 
    <th>Price</th>
  </tr>
  <tr>
    <td>A</td>
    <td>Return</td> 
    <td></td>
  </tr>
  <tr>
    <td>C</td>
    <td>Single</td> 
    <td></td>
  </tr>
</table>

第二个看起来像

<table style="width:30%">
  <tr>
    <th></th>
    <th>Return</th> 
    <th>Single</th>
  </tr>
  <tr>
    <td>A</td>
    <td>250</td> 
    <td>165</td>
  </tr>
  <tr>
    <td>B</td>
    <td>305</td> 
    <td>200</td>
  </tr>
  <tr>
    <td>C</td>
    <td>355</td> 
    <td>230</td>
  </tr>
</table>

方案是: 我想通过查看区域以及回程还是单程来带回价格。因此,对于工作表1上的第一行,它将是A区,回程250。

我曾想过一次尝试将嵌套的if和vlookup结合在一起,但是认为这不会起作用。有没有办法获得理想的结果?如果没有公式解决方案,可以使用VBA宏代替吗?

2 个答案:

答案 0 :(得分:1)

在Sheet1的单元格K2上使用提供的示例数据,使用以下公式并复制下来:

=INDEX(Sheet2!$B:$C,MATCH(I2,Sheet2!$A:$A,0),MATCH(J2,Sheet2!$B$1:$C$1,0))

答案 1 :(得分:0)

如果在sheet1上的表格在A1到C4单元格中,而您的“查找”定价表在sheet2的A1到C5单元格中,那么我将以下公式放在表格1的C2单元格中:

=VLOOKUP(A3,Sheet2!$A$1:$C$5,MATCH(B3,Sheet2!$A$1:$C$1,0),FALSE)

无意踩@tigeravatar的脚趾!这是他的解决方案的替代方案-不确定一个相对于另一个有什么优势!