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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.04.2008, 16:25   #1
kra183
 
Регистрация: 17.03.2008
Сообщений: 5
По умолчанию Найти первую цифру в данных ячейки..

Господа, добрый день....

Можно ли формулами EXCEL найти первую цифру в данных ячейки...

Например данные ячеек...

Бачок омывателя 2104-6318015 задн. (нов.обр.с кр.)
Винт мех.рег.сид. 2101-6814078
Бачок омывателя 21213-5208102 5л (1 мотор)
Воздухозаборники 2101-07 нов.

В идеале мне необходимо выдернуть каталожный номер детали (выделил жирным)
На данный момент, извращаюсь так...
Разбиваю по пробелам, и сижу копируюююю.....

Если есть метод автоматизации, то буду признателен за любую подсказку..

Спасибо.
С уважением...
Вложения
Тип файла: rar для формулы поиска цифры.rar (1.9 Кб, 19 просмотров)
kra183 вне форума
Старый 24.04.2008, 17:09   #2
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

1.Сколько МАКСИМАЛЬНО может быть пробелов до этого номера?
2.Могут ли быть пробелы внутри номера (21213 5208102)?
ZORRO2005 вне форума
Старый 24.04.2008, 17:27   #3
kra183
 
Регистрация: 17.03.2008
Сообщений: 5
По умолчанию

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
1.Сколько МАКСИМАЛЬНО может быть пробелов до этого номера?
Сейчас глазками пробежал по документу, МАКСИМАЛЬНОЕ ЧИСЛО ПРОБЕЛОВ - 5.

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
2.Могут ли быть пробелы внутри номера (21213 5208102)?
Пробелов внутри номера нет.
kra183 вне форума
Старый 24.04.2008, 19:09   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот формула:

Код:
=ПСТР(RC[-1];МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1])));ПОИСК(" ";RC[-1]&" ";МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]))))-МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]))))
файл с результатами во вложении.

формула, к сожалению, привязана к данному листу, на другом работать не будет.
Вложения
Тип файла: rar для формулы поиска цифры.rar (5.3 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 24.04.2008, 19:39   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Для любителей отыскать истину:

вот другая формулу, которая делает тоже самое:

Код:
=ПСТР(RC[-1];МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(ДВССЫЛ("A48:A57")));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(ДВССЫЛ("A48:A57")));RC[-1])));ПОИСК(" ";RC[-1]&" ";МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(цфр));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(ДВССЫЛ("A48:A57")));RC[-1]))))-МИН(ЕСЛИ(ЕОШ(ПОИСК(СИМВОЛ(СТРОКА(ДВССЫЛ("A48:A57")));RC[-1]));1000;ПОИСК(СИМВОЛ(СТРОКА(ДВССЫЛ("A48:A57")));RC[-1]))))
разница с предыдущей только в том, что поименованный диапазон цфр из первой здесь заменен конструкцией
Код:
ДВССЫЛ("A48:A57")
, которые выдают один и тот же результат ссылку на диапазон A48:A57.

ставьте эту формулу, в предложенный раньше файл, все будет работать. (формула массива, напоминаю на всякий случай). Собственно сейчас задача для любознательных: обратите внимание в этой формуле осталось ЦФР один раз, в средине формулы посмотрите внимательно.
Попробуйте его заменить на двойную ссылку, как оно заменено 5 или 6 раз. Эксель напишет об ошибке формулы и не даст из нее выйти.

Вопрос сформулирую мягко: почему бы это? Хотя хочется употребить совсем другие слова .
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 24.04.2008, 20:19   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Добавлю еще вариант,
правда с помощью дополнительного столбца:
Вложения
Тип файла: rar для формулы поиска цифры_3.rar (3.9 Кб, 26 просмотров)

Последний раз редактировалось ZORRO2005; 25.04.2008 в 01:22.
ZORRO2005 вне форума
Старый 25.04.2008, 09:46   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Можно ли формулами EXCEL найти первую цифру в данных ячейки...
А почему обязательно формулами EXCEL?
Посмотрите решение на VBA. Запустите макрос "Main". Формул на листе нет. Количество строк не ограничено. Работает на любом листе.
Вложения
Тип файла: rar Первая_Цифра_VBA.rar (7.2 Кб, 48 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 25.04.2008, 10:17   #8
kra183
 
Регистрация: 17.03.2008
Сообщений: 5
По умолчанию

Господа, всем огромное спасибо за оперативные ответы....
Буду разбираться....

С уважением..
kra183 вне форума
Старый 07.05.2008, 13:03   #9
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
Лампочка Что я нашёл...

http://sql.ru/forum/actualthread.asp...hl=val#2855650
Код:
=MID(A1
,MATCH(FALSE,ISERROR(1*MID(A1,ROW(INDIRECT("1:20")),1)),0)
,21-SUM(1*ISERROR(1*MID(A1,ROW(INDIRECT("1:20")),1))))
Ещё бы кто-нибудь (не указывая пальцем) подробно описал, как эта формула работает
Кажется, вместо 20 должна использоваться LEN(A1) ?

Последний раз редактировалось дмидми; 07.05.2008 в 13:12.
дмидми вне форума
Старый 07.05.2008, 14:46   #10
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Цитата:
Кажется, вместо 20 должна использоваться LEN(A1)
Да, правильно и вместо 21
или любое число>=ДЛСТР(A1)
Но если между цифр стоит текст то

Последний раз редактировалось ZORRO2005; 07.05.2008 в 14:58.
ZORRO2005 вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти адрес ячейки... Bu$ter Microsoft Office Excel 7 11.06.2008 14:52
Логотип сылкой на первую страницу... Vovchik HTML и CSS 9 08.04.2008 22:42
двузначные числа которые при умножении на 3 будут заканчиваться на цифру 4 Ases_51 Паскаль, Turbo Pascal, PascalABC.NET 4 13.01.2008 11:37
Колонтитул, или надпись - поместить только на первую страницу Vasuha Microsoft Office Excel 2 28.11.2007 16:23
DBLookupComboBox на первую строчку Inbox БД в Delphi 7 29.10.2007 13:26