Два листа. 1 лист - вх. и выход. данные, 2 лист - сравн.таблица. Психтест.

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
centrex
Сообщения: 3
Зарегистрирован: 09 мар 2014, 18:43

Привет всем!
Прошу помощи в решении следующей задачки.
На 1ом листе таблица сырых баллов теста (две переменные - сырой балл и шкала).
На 2ом листе таблица, по которой мы определяем конечные стандартные баллы исходя из шкалы и сырого балла.
Вид таблицы на листе 2:
Сыр.балл с 1го листа = {-12, -11 .... 95} // строки
Шкала с 1го листа = { 1, ... ,22} //столбцы
То есть необходимо взять значение сырого балла с 1го листа сравнить с номером строки со 2го листа, значение шкалы с1 ой страницы сравнить с номером столбца на 2ом листе. На пересечении из ячейки взять значение стандартного балла и поместить в ячейку на 1ом листе.

Алгоритм вроде бы не сложный. Именно его реализация через функции необходима.
Fairuza
Сообщения: 6
Зарегистрирован: 31 янв 2014, 21:59

Думаю Вам надо =ИНДЕКС(ПОИСКПОЗ())
centrex
Сообщения: 3
Зарегистрирован: 09 мар 2014, 18:43

Спасибо. Попробую, но хотелось бы полноценное решение. Так как программист я уровня совсем начинающего.
Fairuza
Сообщения: 6
Зарегистрирован: 31 янв 2014, 21:59

Как понимаю, сырой балл в А2 на листе 1, шкала в В2 на листе 1, таблица на листе2

Код: Выделить всё

=ИНДЕКС(Лист2!$B$2:$W$109;ПОИСКПОЗ(A2;Лист2!A2:A109;0);ПОИСКПОЗ(B2;Лист2!B1:W1;0))
centrex
Сообщения: 3
Зарегистрирован: 09 мар 2014, 18:43

Fairuza писал(а):Как понимаю, сырой балл в А2 на листе 1, шкала в В2 на листе 1, таблица на листе2

Код: Выделить всё

=ИНДЕКС(Лист2!$B$2:$W$109;ПОИСКПОЗ(A2;Лист2!A2:A109;0);ПОИСКПОЗ(B2;Лист2!B1:W1;0))

Спасибо, все получилось. Конечная формула такая:
=ИНДЕКС(Лист2!$B$2:$W$109;ПОИСКПОЗ(A2;Лист2!$A$2:$A$109;0);ПОИСКПОЗ(B2;Лист2!$B$1:$W$1;0))

Так как нужно было копировать формулу и при этом происходило смещение диапазона (c Ctrl или без него), при конечной формуле менялись только необходимые индексы.
Fairuza
Сообщения: 6
Зарегистрирован: 31 янв 2014, 21:59

Прошу прощения, не закрепила области, это моя невнимательность))))
Ответить