excel - 如果两个单元格匹配,则从同一行中的第三个返回值,而与 Excel 中的顺序无关

标签 excel excel-formula excel-2010 excel-2007 vba7

我有一张如下表:

|**Corresponding Values**|
|:.......|:.....:|......:|
|   O1   |   F1  |   S1  |
|   O2   |   F2  |   S2  |
|   O3   |   F3  |   S3  |
|   O4   |   F4  |   S4  |
|   O5   |   F5  |   S5  |
|   O6   |   F6  |   S6  |
|   O7   |   F7  |   S7  |
如果在同一行中给定任意两个值(无论顺序/顺序如何),我想获得相应的第三个值;例子
  • (O5 和 F5)或(F5 和 O5)给出 S5
  • (F7 和 S7)或(S7 和 F7)给出 O7
  • (O3 和 S3)或(S3 和 O3)给出 F3
  • 和其他可能的排列(任何顺序)来给出它们对应的第三个值,除了(O和O)或(F和F)和(S和S),即。单元格 B8 和 B11 不能相同,

  • 如附图中左起第二列所示。
    我为(O6和F6)尝试了以下代码并得到了S6;但它不能以相反的顺序工作,即。 (F6 和 O6)尽管使用了 OR 功能。
    =(INDEX(Data!O2:O8,MATCH(B8,IF(Data!N2:N8=B11,Data!M2:M8),0)))
    
    =OR((INDEX(Data!O2:O8,MATCH(B8,IF(Data!N2:N8=B11,Data!M2:M8),0))), (INDEX(Data!N2:N8,MATCH(B8,IF(Data!O2:O8=B11,Data!M2:M8),0))), (INDEX(Data!M2:M8,MATCH(B8,IF(Data!O2:O8=B11,Data!N2:N8),0))),(INDEX(Data!O2:O8,MATCH(B8,IF(Data!M2:M8=B11,Data!N2:N8),0))), (INDEX(Data!N2:N8,MATCH(B8,IF(Data!M2:M8=B11,Data!O2:O8),0))), (INDEX(Data!M2:M8,MATCH(B8,IF(Data!N2:N8=B11,Data!O2:O8),0))))
    
    请注意图像,左起第二列显示这些值。
    Result
    Data Sheet
    请指导我最好的方法。

    最佳答案

    =LOOKUP(1,0/(MMULT((Data!M8:N14=B8)+(Data!M8:N14=B11),{1;2})=3),Data!O8:O14)如果需要,为没有匹配行的情况添加错误子句。

    关于excel - 如果两个单元格匹配,则从同一行中的第三个返回值,而与 Excel 中的顺序无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71372374/

    相关文章:

    excel - 查找某个月份的 MAX 值

    Excel : Union column text in excel

    vba - 在powerpoint中编辑图表数据

    excel vlookup 有多个结果

    javascript - 从时间戳和电子邮件地址转换唯一 ID

    python-2.7 - Excel 和 Python 的计算结果不同

    excel - 在没有 VBA 的情况下从函数反转一维数组输出(或获取最后一个值)?

    excel - ROW() 函数在 SUM() 和 SUMPRODUCT() 中的行为不同

    string - Excel VBA在数字和字母之间插入字符

    java - Apache POI 和自动行高以及合并单元格