MS Excel using multidimensional lookup
Здравствуйте, я пытаюсь присвоить значение, учитывая, что если у меня есть какое-то значение, которое соответствует столбцу 1, он будет искать попытаться проверить, если для этой конкретной строки моя переменная моего продукта меньше, чем указано.
Допустим, у меня есть colA_Var = 109 и rowB_Var = 12. Я буду искать первый столбец, если значение существует, тогда мне нужно сравнить, если мой rowB_Var<, чем значения в строке 109. Таким образом, он вернет 11,8, поскольку его значение меньше 12. Другой Например, если у меня есть colA_Var = 179 и rowB_Var = 55, это даст мне значения 44 и 50 или одно из них. Пока я попробовал формулу ниже, но она не работает. Это должно быть сделано только с использованием функций Excel, так как виртуальные макросы недопустимы.
= LOOKUP(Var_Const!D6,D_Male!$A$2:$A$84,D_Male!$B$2:$L$84)
Sample Data in Excel
108.0 11.6 12.9 15.2 16.5 18.1 20.0 22.1 23.1 25.1 27.0
109.0 11.8 13.1 15.6 16.9 18.5 20.3 22.6 23.9 25.7 27.5
178.0 43.5 49.2 55.9 62.0 68.5 74.5 81.0 87.0 93.2 100.0
179.0 43.8 49.7 56.0 62.5 69.0 75.2 81.3 87.3 94.0 100.8
180.0 44.0 50.0 56.2 62.7 69.5 76.0 82.0 88.0 94.5 101.2
2 ответа
Я предлагаю эту функцию:
=HLOOKUP(A8,INDEX(B1:K5,MATCH(A7,A1:A5,0),0),1)
INDEX(B1:K5,MATCH(A7,A1:A5,0),0)
возвращает строку, в которой Var_B
нужно искать.
HLOOKUP
затем ищет значение меньше, чем Var_B
,
С
- Var_A в L1C2
- Var_B в L2C2
- Результат в L3C2
- Значения в L5C1:L9C11
Мой форум
=HLOOKUP(L2C2,INDIRECT(ADDRESS(4+MATCH(L1C2,L5C1:L9C1),2)&":"&ADDRESS(4+MATCH(L1C2,L5C1:L9C1),11)),1,TRUE)
Объяснение: Найдите соответствующую строку по значению Var_A, создайте ссылку на массив только из одной строки, найдите в ней значение Var_B.