Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Ограничения сочетания функций ИНДЕКС и ПОИСКПОЗ - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Ограничения сочетания функций ИНДЕКС и ПОИСКПОЗ (Формулы/Formulas)
Ограничения сочетания функций ИНДЕКС и ПОИСКПОЗ
IrinaIS Дата: Среда, 02.03.2016, 20:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Уважаемые форумчане, добрый вечер!

Помогите, пожалуйста, новичку. Задача классическая: найти в массиве данных соответствие и вынести его в отдельную таблицу. Я применяла сочетание функций ИНДЕКС и ПОИСКПОЗ, но почему-то оно работает только для верхней части массива данных, а для нижней сопоставление не производится и вылезает ошибка. С функцией ВПР были аналогичные трудности.

Подскажите, пожалуйста, что я делаю неправильно и что может ограничивать работу функций.

Заранее спасибо всем откликнувшимся.
К сообщению приложен файл: 7919344.xls(31Kb)
 
Ответить
СообщениеУважаемые форумчане, добрый вечер!

Помогите, пожалуйста, новичку. Задача классическая: найти в массиве данных соответствие и вынести его в отдельную таблицу. Я применяла сочетание функций ИНДЕКС и ПОИСКПОЗ, но почему-то оно работает только для верхней части массива данных, а для нижней сопоставление не производится и вылезает ошибка. С функцией ВПР были аналогичные трудности.

Подскажите, пожалуйста, что я делаю неправильно и что может ограничивать работу функций.

Заранее спасибо всем откликнувшимся.

Автор - IrinaIS
Дата добавления - 02.03.2016 в 20:12
МВТ Дата: Среда, 02.03.2016, 20:16 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 136 ±
Замечаний: 0% ±

Excel 2007
Потому что у Вас в А82 не 25, а 25,0000000000001
 
Ответить
СообщениеПотому что у Вас в А82 не 25, а 25,0000000000001

Автор - МВТ
Дата добавления - 02.03.2016 в 20:16
_Boroda_ Дата: Среда, 02.03.2016, 20:18 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
1. Вашу формулу можно переписать вот так
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2;$A$2:$A$121;))
Диапазон под ИНДЕКСом не нужно начинать с А, достаточно только тот столбец, откуда нужно тянуть данные. И тогда третий аргумент ИНДЕКСа не нужен.

2. В столбце А не все значения такие, как Вы видите. Посмотрите мой файл, я там показал, что значение не 25, а 25,0000000000001
Поэтому формулу можно написать вот так
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2+0,001;$A$2:$A$121))
Посмотрите про отсутствующий третий аргумент ПОИСКПОЗ в справке
А можно еще проще -
Код
=ПРОСМОТР(E2;A$2:A$121;B$2:B$121)
К сообщению приложен файл: 7919344_2.xls(33Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение1. Вашу формулу можно переписать вот так
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2;$A$2:$A$121;))
Диапазон под ИНДЕКСом не нужно начинать с А, достаточно только тот столбец, откуда нужно тянуть данные. И тогда третий аргумент ИНДЕКСа не нужен.

2. В столбце А не все значения такие, как Вы видите. Посмотрите мой файл, я там показал, что значение не 25, а 25,0000000000001
Поэтому формулу можно написать вот так
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2+0,001;$A$2:$A$121))
Посмотрите про отсутствующий третий аргумент ПОИСКПОЗ в справке
А можно еще проще -
Код
=ПРОСМОТР(E2;A$2:A$121;B$2:B$121)

Автор - _Boroda_
Дата добавления - 02.03.2016 в 20:18
IrinaIS Дата: Среда, 02.03.2016, 20:24 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
МВТ, спасибо Вам огромное за внимательность и быстрый ответ.
Уже час бьюсь, а слона-то в исходных данных не приметила.

_Boroda_, большое спасибо за помощь! Теперь всё работает.


Сообщение отредактировал IrinaIS - Среда, 02.03.2016, 20:25
 
Ответить
СообщениеМВТ, спасибо Вам огромное за внимательность и быстрый ответ.
Уже час бьюсь, а слона-то в исходных данных не приметила.

_Boroda_, большое спасибо за помощь! Теперь всё работает.

Автор - IrinaIS
Дата добавления - 02.03.2016 в 20:24
МВТ Дата: Среда, 02.03.2016, 20:25 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 136 ±
Замечаний: 0% ±

Excel 2007
Можно так (формула массива, вводится одновременным нажатием Ctrl-Sift-Enter)
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2;ОКРУГЛ($A$2:$A$121;1);0))

P.S. К сожалению, прибавление 0,0000000000001 не всегда помогает, например в А112 - 28,0000000000002


Сообщение отредактировал МВТ - Среда, 02.03.2016, 20:28
 
Ответить
СообщениеМожно так (формула массива, вводится одновременным нажатием Ctrl-Sift-Enter)
Код
=ИНДЕКС($B$2:$B$121;ПОИСКПОЗ($E2;ОКРУГЛ($A$2:$A$121;1);0))

P.S. К сожалению, прибавление 0,0000000000001 не всегда помогает, например в А112 - 28,0000000000002

Автор - МВТ
Дата добавления - 02.03.2016 в 20:25
_Boroda_ Дата: Среда, 02.03.2016, 20:28 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 10334
Репутация: 4357 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Я там попроще формулу дописал, посмотрите


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЯ там попроще формулу дописал, посмотрите

Автор - _Boroda_
Дата добавления - 02.03.2016 в 20:28
МВТ Дата: Среда, 02.03.2016, 20:30 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 136 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, пока писал ответ не увидел :)
[moder]Это я Ирине написал, чтобы посмотрела, Вам-то зачем - и так знаете.


Сообщение отредактировал _Boroda_ - Среда, 02.03.2016, 20:32
 
Ответить
Сообщение_Boroda_, пока писал ответ не увидел :)
[moder]Это я Ирине написал, чтобы посмотрела, Вам-то зачем - и так знаете.

Автор - МВТ
Дата добавления - 02.03.2016 в 20:30
jakim Дата: Среда, 02.03.2016, 21:28 | Сообщение № 8
Группа: Друзья
Ранг: Ветеран
Сообщений: 760
Репутация: 195 ±
Замечаний: 0% ±

Вам можно воспользоваться и такой формулой.

Код
=AGGREGATE(15;6;B$2:B$121/(ROUND(A$2:A$121;1)=E2);1)
 
Ответить
Сообщение
Вам можно воспользоваться и такой формулой.

Код
=AGGREGATE(15;6;B$2:B$121/(ROUND(A$2:A$121;1)=E2);1)

Автор - jakim
Дата добавления - 02.03.2016 в 21:28
IrinaIS Дата: Среда, 02.03.2016, 22:41 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, спасибо, вариант с функцией ПРОСМОТР очень понравился, всё просто и лаконично.

jakim, спасибо, буду знать теперь и про АГРЕГАТ тоже. Хотя для новичка с ней сложновато разобраться =(

На самом деле, я не поняла, откуда взялось столько знаков после запятой, т.к. просто протянула ячейки вниз, как обычно, чтобы не вписывать вручную. Лишние знаки при этом было не видно, поэтому никак не могла сообразить, в чем проблема с формулой.
Еще раз большая всем благодарность за внимательность и советы!
 
Ответить
Сообщение_Boroda_, спасибо, вариант с функцией ПРОСМОТР очень понравился, всё просто и лаконично.

jakim, спасибо, буду знать теперь и про АГРЕГАТ тоже. Хотя для новичка с ней сложновато разобраться =(

На самом деле, я не поняла, откуда взялось столько знаков после запятой, т.к. просто протянула ячейки вниз, как обычно, чтобы не вписывать вручную. Лишние знаки при этом было не видно, поэтому никак не могла сообразить, в чем проблема с формулой.
Еще раз большая всем благодарность за внимательность и советы!

Автор - IrinaIS
Дата добавления - 02.03.2016 в 22:41
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Ограничения сочетания функций ИНДЕКС и ПОИСКПОЗ (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!