我正在寻找一个公式,当输入比例(1-5,第一行)和步骤(1-13,垂直)时,从下表返回工资(100-2100)。
例如,比例3步骤7应返回1100.
非常感谢任何帮助!
编辑:我有一个混乱的工作解决方案,所以这不是我使用SO作为“代码编写服务”。我正在寻找的公式只是一种更清洁的做事方式。据我所知,有五件事需要同时发生:我只是没有知识在一个公式中实现这个,因此我问。谢谢你的帮助。
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 |
+---------------+----+----+----+----+----+
答案 0 :(得分:0)
假设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可以提高效率,但我认为你可以玩它并让自己变得更好。
答案 1 :(得分:0)
我的问题似乎与此问题有关:Reference a range using column number
因此,我的问题的答案是(比例= 3,步数= 7):
=OFFSET(A1;MATCH(7;INDEX(B2:F23;0;3);0);0)
非常感谢Barry Houdini在相关问题中提供了答案。
-
分解代码:
在第一行中查找'scale'(3)并返回找到比例的列号:
=3 (per definition, the scale number equals the column number)
定义搜索“步骤”的范围(基于Barry Houdini的答案):
=INDEX(B2:F23;0;3)
在上面定义的范围内查找'step'(7)并返回找到它的行号:
=MATCH(7;INDEX(B2:F23;0;3);0)
使用上面的行号查找A列中的薪水:
=OFFSET(A1;MATCH(7;INDEX(B2:F23;0;3);0);0)