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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Ограничения сочетания функций ИНДЕКС и ПОИСКПОЗ
IrinaIS Дата: Среда, 02.03.2016, 20:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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

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

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

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

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

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

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 (33.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
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
Репутация: 137 ±
Замечаний: 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
МВТ Дата: Среда, 02.03.2016, 20:30 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

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


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

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

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

Код
=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 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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

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

2016
_Boroda_,
Здравствуйте , буду признателен за помощь , задача почти как в теме
Задача : найти в массиве данных соответствие по признаку crit/crit* и вынести его в отдельные таблицы

( в ежедневный по crit + crit* и недельный отчет только по признаку crit) .

Но количество строк в массиве 73351 (начиная с 12й) меняется (надо удалять/добавлять)
Реализовал чз ВПР (формулы на страницах вед.инж и Нед.отч) но формулы подсчета 0/1 (ячейки ABCDE) в строках страницы 73351 периодически багают при удалении/добавлении строк

Пример попыток БЕЗ подсчета 0/1 - на стр Лист2 и Лист3 - работает только в статике и не работают при удалении строк в 73351

страниц аналогичных 73351 много, оставил одну для примера

---
Спасибо отбой, отзеркалил листы пользователей в один через =ДВССЫЛ и убрал формулы ABCDE с рабочих листов
К сообщению приложен файл: report_to_all.xlsx (292.5 Kb)


Сообщение отредактировал Эд - Вторник, 29.08.2023, 10:09
 
Ответить
Сообщение_Boroda_,
Здравствуйте , буду признателен за помощь , задача почти как в теме
Задача : найти в массиве данных соответствие по признаку crit/crit* и вынести его в отдельные таблицы

( в ежедневный по crit + crit* и недельный отчет только по признаку crit) .

Но количество строк в массиве 73351 (начиная с 12й) меняется (надо удалять/добавлять)
Реализовал чз ВПР (формулы на страницах вед.инж и Нед.отч) но формулы подсчета 0/1 (ячейки ABCDE) в строках страницы 73351 периодически багают при удалении/добавлении строк

Пример попыток БЕЗ подсчета 0/1 - на стр Лист2 и Лист3 - работает только в статике и не работают при удалении строк в 73351

страниц аналогичных 73351 много, оставил одну для примера

---
Спасибо отбой, отзеркалил листы пользователей в один через =ДВССЫЛ и убрал формулы ABCDE с рабочих листов

Автор - Эд
Дата добавления - 28.08.2023 в 10:46
  • Страница 1 из 1
  • 1
Поиск:

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