|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
17.06.2015, 02:52 | #21 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
читал, а Вы это читали:
Цитата:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
17.06.2015, 10:22 | #22 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
по моим расчетам ПЕРВУЮ НЕПУСТУЮ ячейку даст такая формула:
=ИНДЕКС(A:A;ПОИСКПОЗ(ЛОЖЬ;A1:A20="" ;0)) |
17.06.2015, 23:35 | #23 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
Добрый вечер!
Могу предложить пользовательскую функцию VBA. Функция вводится в стандартный модуль VBA. Работает во всем листе Excel (в том числе для двухбуквенных столбцов-находит значение первой непустой ячейки типа диапазона A3:A20 форумчанина Доктор: Код HTML:
Function First2(r As Range) Dim i As Integer, s As String Application.Volatile If TypeName(r) <> "Range" Then Exit Function s = Left(r.Range("A1").Address, InStrRev(r.Range("A1").Address, "$") - 1) i = r.Range("A1").End(xlDown).Row First2 = Range(s & i) End Function Последний раз редактировалось svsh2016; 18.06.2015 в 00:51. |
18.06.2015, 00:21 | #24 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
и Вам не хворать!
уважаемый svsh2016, предложить-то Вы можете... отличная функция и работает на всем листе и с двухбуквенными столбцами, мало того - эта функция работает даже с трехбуквенными столбцами... но есть в ней один недостаток... она возвращает не первое не пустое значение, как Вы думали, а то непустое, которое (в зависимости от данных) вычисляет предложенный Вами код. во вложении файл, выполните TestFirst2, что видно??? неуже ли "2-я не пустая из А3:А20"!?!?!? а разве А3 не в диапазоне А3:А20, или может быть она пустая? подкупает проверка на соответсвие параметра функции требуемому типу Код:
например для такого вызова: First2("svsh2016") - уверенно получите "Type mismatch" у Вас два сообщения на форуме и оба мимо кассы. будьте бдительны!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
18.06.2015, 18:33 | #25 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
Добрый вечер!Обсуждение данной темы было интересным,функция массива замечательная.Кроме того существует
пользовательская функция VBA,размещается в стандартном модуле.Работает во всем лист Excel,все ситуации по возможности отработал: Код:
|
19.06.2015, 15:21 | #26 |
Участник клуба
Регистрация: 15.12.2009
Сообщений: 1,448
|
Вы ошибаетесь. На листе Excel, его средствами, можно только так. Других способов не существует
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru https://yoomoney.ru: 41001419691823 |
19.06.2015, 18:10 | #27 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Сережа, см. вложение строка 3
это формула массива? а в пошаговом режиме все обрабатываеися как массив данных. вот это и есть те самые другие способы в ексеоь.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
19.06.2015, 18:47 | #28 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 369
|
Serge 007, я имел в виду, что чтобы дать программе понять, что формулу надо считать как массив, можно после ввода данных в строку формул одновременно нажать клавиши клавиатуры Ctrl + Shift + Enter и ее содержимое заключится в фигурные скобки {}. А можно например прописать внутри формул работающих с массивами на место массива, например СУММПРОИЗВ(массив) или ИНДЕКС(массив;номер_строки;номер_столбца) и Excel посчитает её как формулу массива.
|
05.07.2015, 18:25 | #29 |
Участник клуба
Регистрация: 15.12.2009
Сообщений: 1,448
|
Игорь, нет, конечно!
А что такое "формула массива"? Давай начнем с определения
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru https://yoomoney.ru: 41001419691823 |
05.07.2015, 20:10 | #30 |
Форумчанин
Регистрация: 16.06.2015
Сообщений: 100
|
Уважаемый пользователь Доктор,ваш вопрос решает пользовательская функция VBA First5.
Преимущество пользовательских функций в том,что она проще функций массива.Водится в стандартный модуль VBA. Затем набираете в ячейке =F выскакивает диалоговое окно,выбираете функцию,выбираете диапазон мышью или клавиатурно. Функция протестирована совместно с функцией массива Индекс,работает аналогично. Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать ссылку на последнюю непустую ячейку в обновляемом столбце | 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 |