Страницы: 1
RSS
Выборка определённого количества данных из диапазона
 
Здравствуйте! Подскажите как решить задачу. Смысл в следующем, есть диапазон из 8-ми ячеек, в 4-х из которых могут быть значения но не обязательно и в каких именно заранее не известно. Мне нужно в соседнюю таблицу перенести все значения которые есть, в первую ячейку первое значение, во вторую второе и т.д. Пытался найти решение задачи, но единственное что нашёл это функцию ВПР, с помощью которой удалось найти и перенести только первое значение, соответственно если их 2-4, то ничего не получается. Формулы:
Код
Для 1-го значения =ВПР("*";$B$2:$B$9;1;0)
Для 2-го значения =ВПР("*";$B$2:$B$9;2;0), но уже ничего не получается.
Пример файла прикрепил.
Изменено: Locko - 17.08.2018 22:24:26
 
Locko, здрасьте. Если правильно понял, формула массива:
=ИНДЕКС($B$2:$B$9;НАИМЕНЬШИЙ(ЕСЛИ($B$2:$B$9<>"";СТРОКА($B$2:$B$9)-1);СТРОКА()-2))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Спасибо, Вы всё правильно поняли. Только у меня появилась одна проблема, при попытке использовать массив в других файлах появляется сообщение "формула массива в объединённых ячейках неверны" либо просто отображается #Число!
Изменено: Locko - 18.08.2018 09:24:58
 
Locko,  просто объединенные ячейки  - зло.  для использования формулы массива нужно сперва снять объединение, ввести формулу, а потом можно снова объединить.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
просто объединенные ячейки  - зло
Хорошо, буду иметь в виду. Но у меня уже какая-то мистика начинается. Почему-то там где должно быть первое значение сообщение о ошибке. Хотя остальные ячейки нормально работают.
 
Код
=ЕСЛИОШИБКА(ИНДЕКС($C$1:$C$9;НАИМЕНЬШИЙ(ЕСЛИ($C$2:$C$9<>"";СТРОКА($B$2:$B$9));СТРОКА($A1)));"")
 
Попробовал способ Bema и MOTO, по какой-то причине при попытке сделать самому с 24 строки оба варианта, ничего не получается. Подскажите пожалуйста в чём моя ошибка. В файле, в самом верху способ от MOTO работает, снизу с 24 строки, столбец "МОТО" уже ничего не получается.
 
массивная
Код
=ЕСЛИОШИБКА(ИНДЕКС($D$1:$D$32;НАИМЕНЬШИЙ(ЕСЛИ($D$25:$D$32<>"";СТРОКА($A$25:$A$32));СТРОКА($A1)));"")
 
Цитата
MOTO написал:
массивная
Спасибо, похоже понял. Теперь всё получилось
Страницы: 1
Наверх