Excel 在不规则表格中查找水平和垂直值

Excel 在不规则表格中查找水平和垂直值,excel,Excel,我正在寻找一个公式,当输入标尺(1-5,第一行)和步骤(1-13,垂直)时,从下表返回工资(100-2100) 例如,标尺3步骤7应返回1100 任何帮助都将不胜感激 编辑:我有一个混乱的工作解决方案,所以这不是我使用so作为“代码编写服务”。我正在寻找的公式只是一种更干净的做事方式。据我所知,有五件事需要同时发生: 查找第一行上的“比例” 返回找到刻度的列 在第2列中查找“步骤” 返回找到“步骤”的行 基于4中的行查找列A的值 我只是不知道如何在一个公式中实现这一点,因此我问。谢谢你的帮助

我正在寻找一个公式,当输入标尺(1-5,第一行)和步骤(1-13,垂直)时,从下表返回工资(100-2100)

例如,标尺3步骤7应返回1100

任何帮助都将不胜感激

编辑:我有一个混乱的工作解决方案,所以这不是我使用so作为“代码编写服务”。我正在寻找的公式只是一种更干净的做事方式。据我所知,有五件事需要同时发生:

  • 查找第一行上的“比例”
  • 返回找到刻度的列
  • 在第2列中查找“步骤”
  • 返回找到“步骤”的行
  • 基于4中的行查找列A的值
  • 我只是不知道如何在一个公式中实现这一点,因此我问。谢谢你的帮助

            A             B    C    D    E    F
        +---------------+----+----+----+----+----+
     1  | salary/scale  | 1  | 2  | 3  | 4  | 5  |
        +---------------+----+----+----+----+----+
     2  | 100,00        |  0 |    |    |    |    |
     3  | 200,00        |  1 |  0 |    |    |    |
     4  | 300,00        |  2 |  1 |    |    |    |
     5  | 400,00        |  3 |  2 |  0 |    |    |
     6  | 500,00        |  4 |  3 |  1 |    |    |
     7  | 600,00        |  5 |  4 |  2 |    |    |
     8  | 700,00        |  6 |  5 |  3 |  0 |    |
     9  | 800,00        |  7 |  6 |  4 |  1 |    |
    10  | 900,00        |  8 |  7 |  5 |  2 |  0 |
    11  | 1000,00       |  9 |  8 |  6 |  3 |    |
    12  | 1100,00       | 10 |  9 |  7 |  4 |  1 |
    13  | 1200,00       |    | 10 |  8 |  5 |  2 |
    14  | 1300,00       |    | 11 |  9 |  6 |  3 |
    15  | 1400,00       |    | 12 | 10 |  7 |  4 |
    16  | 1500,00       |    |    | 11 |  8 |  5 |
    17  | 1600,00       |    |    | 12 |  9 |  6 |
    18  | 1700,00       |    |    | 13 | 10 |  7 |
    19  | 1800,00       |    |    |    | 11 |  8 |
    20  | 1900,00       |    |    |    | 12 |  9 |
    21  | 2000,00       |    |    |    |    | 10 |
    22  | 2100,00       |    |    |    |    | 11 |
    23  | 2200,00       |    |    |    |    | 12 |
        +---------------+----+----+----+----+----+
    
    假设J16=3,K16=7(位于查找表之外的某个位置),您可以使用:

    =OFFSET(INDIRECT(IF(J16=B1,"B"&MATCH(K16,B2:B24),IF(J16=C1,"C"&MATCH(K16,C2:C24),"D"&MATCH(K16,D2:D24)))),1,-3)
    
    它将匹配前三列,并返回A列中的值

    由于这不是一个代码编写服务,我将让您添加其他两列,并将其映射到特定的比例/步长单元格


    此外,我相信使用某种hlookup会更有效,但我想你可以自己玩它,让它变得更好

    我的问题似乎与这个问题有关:

    因此,我的问题的答案是(量表=3,步骤=7):

    非常感谢巴里·胡迪尼,他在相关问题中提供了答案

    -

    分解代码:

    查找第一行中的“scale”(3),并返回找到scale的列号:

    =3 (per definition, the scale number equals the column number)
    
    =MATCH(7;INDEX(B2:F23;0;3);0)
    
    定义搜索“步骤”的范围(基于Barry Houdini的回答):

    在上面定义的范围内查找“步骤”(7),并返回找到该步骤的行号:

    =3 (per definition, the scale number equals the column number)
    
    =MATCH(7;INDEX(B2:F23;0;3);0)
    
    使用上面的行号查找A列中的薪资:

    =OFFSET(A1;MATCH(7;INDEX(B2:F23;0;3);0);0)
    

    谢谢,但是桌子上没有G16?3指的是D1,7指的是D12。对不起,我把它移过去了。