Это не должно быть достаточно сложным. Возьмем для примера следующее.
- Выберите заголовки столбцов и назовите их Input1. (Диапазон E1:I1 в примере.)
- Выберите заголовки строк и назовите их Input2. (Диапазон D2:D4)
- Выберите ваши данные и назовите их Data. (Диапазон E2:I4)
- Используйте проверку данных, чтобы получить выпадающие списки.
- Выберите ячейку B2 и нажмите Данные - Проверка данных.
- Установите критерии проверки Разрешить для
List
и источник =Input1
- Делайте все, что вы хотите для входящего сообщения и предупреждения об ошибках. (Я выключил их.)
- Повторите для вашего второго ввода. (ячейка
B3
получает источник =Input2
)
- В ячейке Result введите следующую формулу
=INDEX(Data,MATCH(B3,Input2,0),MATCH(B2,Input1,0))
Формула работает следующим образом:
MATCH(lookup_value, lookup_array, [match_type])
MATCH
является своего рода похожа на VLOOKUP
за исключением того, что вместо возвращения / значение ячейки сота , которую он возвращает относительную позицию lookup_value
в lookup_array
, . С его помощью на диапазоне Input1
возвращает относительную позицию столбца при использовании его на Input2
возвращает относительную строку. Если для match_type
значение 0, Excel будет возвращать только точное совпадение.
INDEX(reference, row_num, [column_num], [area_num])
INDEX
возвращает ячейку в Data
найденную в ссылочной строке Input2
и ссылочной колонке в Input1
.
Примечание. В Excel 2010 (я не уверен в более ранних версиях) таблица данных даже не должна находиться на том же рабочем листе, что и ячейки ввода и результата.