У меня к Вам вопрос, покажите дилетанту как быть в этой ситуации!
Есть файл в нем 2 листа, в первом массив данных во втором выборка из массива
Сделал через IF но это только для 4 запросов, а если их будет 100 ? Программа запретит писать такую большую формулу!
Задача: Как сделать так, что бы при выборе определенной позиции данные брались из массива который в Input Data. Через VLOOKUP не получается сделать, потому что он берет данные по первому совпадению.
Число строк будет одинаковым для всех позиций! Тобишь для всех запросов будет отображаться по определенному количеству строк. В примере рассматривается по 3 строки
Добрый день уважаемые форумчане!
У меня к Вам вопрос, покажите дилетанту как быть в этой ситуации!
Есть файл в нем 2 листа, в первом массив данных во втором выборка из массива
Сделал через IF но это только для 4 запросов, а если их будет 100 ? Программа запретит писать такую большую формулу!
Задача: Как сделать так, что бы при выборе определенной позиции данные брались из массива который в Input Data. Через VLOOKUP не получается сделать, потому что он берет данные по первому совпадению.
Число строк будет одинаковым для всех позиций! Тобишь для всех запросов будет отображаться по определенному количеству строк. В примере рассматривается по 3 строкиGopronotmore
Большое спасибо! Мне не критично! Буду пытаться адаптировать Вашу формулу к своему файлу! Тему не закрывайте, если будут вопросы, можно будет тут отписаться!
Спасибо!
Большое спасибо! Мне не критично! Буду пытаться адаптировать Вашу формулу к своему файлу! Тему не закрывайте, если будут вопросы, можно будет тут отписаться!
А можете расписать как эта формула работает ? Разобрался, и применил, но вот смысла не понимаю! Напишите если не трудно в чем принцип работы ? Понимаю что берет данные из массива, но не могу понять для чего ROW и SMALL как они оказывают влияние на выводимый результат? Спасибо!
А можете расписать как эта формула работает ? Разобрался, и применил, но вот смысла не понимаю! Напишите если не трудно в чем принцип работы ? Понимаю что берет данные из массива, но не могу понять для чего ROW и SMALL как они оказывают влияние на выводимый результат? Спасибо!Gopronotmore
Сообщение отредактировал Gopronotmore - Вторник, 30.06.2015, 11:31
возвращает массив, состоящий из номеров строк, для которых названия машин равны названию В2 на листе Form, остальные элементы массива приравниваются к "" (пустая строка). Т.е для "машина2" массив будет
Код
{"", "", "", 2, 3, 4, "", ""..., ""}
Такая нумерация не подходит для нашей функции INDEX(), т.к. 1-й элемент массива 'Input Data'!C$2:C$30 расположен на 2-й строке листа (функция Row возвращает номер строки именно на листе). Отнимем 1 от возвращаемого номера строки, чтобы полученный номер совпадал с номером элемента массива, для "машина2" массив будет
Код
{"", "", "", 3, 4, 5, "", ""..., ""}
Данная формула НЕ протягиваемая, если Вы запишите ее в одну ячейку и будете тянуть вниз, возвращаться у Вас будет все время первый элемент массива (""). Для того чтобы формула возвращала элементы со сдвигом и игнорировала элементы = "", используем функцию SMALL(<наш полученный массив>, k) - посмотрите в описании, как она работает, если не понятно. Для первой ячейки, где мы записали формулу k=ROW(A1) = 1. Т.к. ссылка относительная, k будет меняться при протягивании, т.е. во второй ячейке Вы увидите уже ROW(A2) = 2. Итак, после применения функции SMALL наш массив уже будет таким:
Код
{3, 4, 5, "", ""..., ""}
Функцию INDEX() тоже посмотрите в описании, она работает уже с последним массивом.
возвращает массив, состоящий из номеров строк, для которых названия машин равны названию В2 на листе Form, остальные элементы массива приравниваются к "" (пустая строка). Т.е для "машина2" массив будет
Код
{"", "", "", 2, 3, 4, "", ""..., ""}
Такая нумерация не подходит для нашей функции INDEX(), т.к. 1-й элемент массива 'Input Data'!C$2:C$30 расположен на 2-й строке листа (функция Row возвращает номер строки именно на листе). Отнимем 1 от возвращаемого номера строки, чтобы полученный номер совпадал с номером элемента массива, для "машина2" массив будет
Код
{"", "", "", 3, 4, 5, "", ""..., ""}
Данная формула НЕ протягиваемая, если Вы запишите ее в одну ячейку и будете тянуть вниз, возвращаться у Вас будет все время первый элемент массива (""). Для того чтобы формула возвращала элементы со сдвигом и игнорировала элементы = "", используем функцию SMALL(<наш полученный массив>, k) - посмотрите в описании, как она работает, если не понятно. Для первой ячейки, где мы записали формулу k=ROW(A1) = 1. Т.к. ссылка относительная, k будет меняться при протягивании, т.е. во второй ячейке Вы увидите уже ROW(A2) = 2. Итак, после применения функции SMALL наш массив уже будет таким:
Код
{3, 4, 5, "", ""..., ""}
Функцию INDEX() тоже посмотрите в описании, она работает уже с последним массивом.
Здравствуйте в написание кода я не силен, только начал осваивать....
подскажите как реализовать
Есть БД в Excel
в первом столбце есть номер закупки второй и третий пустые. ( но есть документ на бумаге где у номера закупки есть свой порядковый номер например закуп 43 порядковый номер 1 44 порядковый номер 2, 46 порядковый номер 3 и т.д. Эти номера закупок повторяются в разбросе по всему первому столбцу) всего скажем номеров закупок 120 У каждой закупки свой порядковый номер - хочу забить порядковый номер закупки в третий столбец).
Во втором столбце сделать выбор например проверить первый столбец на закуп 43, 44, 46 и тд если нашел значения 43, 44, 46 то во втором столбце напротив тех значений ввести порядковые номера соответствующие закупу 1,2,3
С чего начать ?? подскажите
Подскажите как реализовать ?
Здравствуйте в написание кода я не силен, только начал осваивать....
подскажите как реализовать
Есть БД в Excel
в первом столбце есть номер закупки второй и третий пустые. ( но есть документ на бумаге где у номера закупки есть свой порядковый номер например закуп 43 порядковый номер 1 44 порядковый номер 2, 46 порядковый номер 3 и т.д. Эти номера закупок повторяются в разбросе по всему первому столбцу) всего скажем номеров закупок 120 У каждой закупки свой порядковый номер - хочу забить порядковый номер закупки в третий столбец).
Во втором столбце сделать выбор например проверить первый столбец на закуп 43, 44, 46 и тд если нашел значения 43, 44, 46 то во втором столбце напротив тех значений ввести порядковые номера соответствующие закупу 1,2,3