Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.06.2013, 13:13   #1
Доктор
Пользователь
 
Регистрация: 06.05.2010
Сообщений: 73
По умолчанию Найти первую непустую ячейку в строке Excel

Добрый день.
Помогите пожалуйста справиться с проблемой:
есть массив A3:A20
Как с помощью формул найти первую непустую ячейку??
Заранее спасибо!
Доктор вне форума
Старый 17.06.2013, 13:50   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Поиск последней заполненной ячейки строки/столбца и возврат её значения
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума
Старый 17.06.2013, 15:50   #3
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

так:
Код:
=ИНДЕКС(A3:A20;ИНДЕКС(ПОИСКПОЗ(1=1;A3:A20<>"";);))
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума
Старый 12.06.2015, 05:51   #4
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Всем здравствуйте, объясните пожалуйста как это работает
Код:
ПОИСКПОЗ(1=1;A3:A20<>"";)
ПОИСКПОЗ возвращает относительное положение элемента массива, т.е. как я понимаю здесь он должен выдавать номер строки. Почему ПОИСКПОЗ возвращает массив (или это не массив) значение которого номер строки?

Последний раз редактировалось agregator; 12.06.2015 в 05:55.
agregator вне форума
Старый 12.06.2015, 07:54   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ПОИСКПОЗ возвращает число при наличии искомых данных (или #НД если нет совпадений)
работает эта формула, как формула массива
не как формула массива она всегда будет выдавать 1 или #НД
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 12.06.2015, 09:17   #6
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

IgorGO. Если эту формулу записать в ячейку
Код:
=ПОИСКПОЗ(1=1;A3:A20<>"";)
то результат в ячейке-ошибка #ЗНАЧ!. А в формуле
Код:
=ИНДЕКС(ПОИСКПОЗ(1=1;A3:A20<>"";);))
она выдает какой-то массив, а иначе зачем использовать ИНДЕКС(). Или я неправ?
Вложения
Тип файла: rar Пример.rar (1.6 Кб, 97 просмотров)

Последний раз редактировалось agregator; 12.06.2015 в 09:28.
agregator вне форума
Старый 12.06.2015, 10:27   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ИНДЕКС использовать не обязательно. формула даст желаемый результат введенная, как формула массива

см.пример, там есть комментарии (пояснения) к особенностям работы формул
Вложения
Тип файла: rar Пример.rar (4.5 Кб, 254 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 14.06.2015, 12:18   #8
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от agregator Посмотреть сообщение
...как это работает...
0=0 - ноль равен нулю, значение: ИСТИНА
A1:A5<>"" - значение:{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ}
ПОИСКПОЗ() ищет первое вхождение ИСТИНА в массив {ЛОЖЬ:ИСТИНА:ЛОЖЬ:ИСТИНА:ЛОЖЬ}
Первое вхождение на второй позиции
Изображения
Тип файла: gif agregator.gif (46.7 Кб, 1133 просмотров)
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума
Старый 15.06.2015, 20:41   #9
agregator
Форумчанин
 
Аватар для agregator
 
Регистрация: 09.05.2009
Сообщений: 369
По умолчанию

Спасибо всем за объяснения. IgorGO хорошо объяснил. Понял, что Excel по-разному обрабатывает диапазоны и массивы. И что дать Excel понять, что формулу надо считать как массив можно не только {}.
agregator вне форума
Старый 15.06.2015, 23:38   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

благодарность принята с благодарность))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать ссылку на последнюю непустую ячейку в обновляемом столбце SVGuss Microsoft Office Excel 34 19.02.2013 16:12
в строке удалить первую и последнюю буквы,только записать в виде программы и тестового примера в паскаль!!! rfnthbyf Паскаль, Turbo Pascal, PascalABC.NET 9 14.02.2012 21:16
Найти и выделить по выделенной строке диапазон с такой строкой на другом листе (Excel 2003) vfv Microsoft Office Excel 8 10.03.2010 09:30
Копирование данных на первую пустую ячейку kzld Microsoft Office Excel 8 15.07.2009 14:06
как найти первую заполненную ячейку в диапазоне Bezdar Microsoft Office Excel 3 19.02.2009 11:59