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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2011, 07:27   #1
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию Найти первую цифру в ячейке

Проблема заключается в следующем:
Есть ячейки содержащие названия(буквы и цифры). Необходимо вывести первую цифру из названия. Число букв перед цифрой варьируется от 1 до 3. Пример:
CM3001 вывести 3
L4023 вывести 4
TAA6110 вывести 6
Есть ли стандартные средства для решения этой проблемы?
competing вне форума Ответить с цитированием
Старый 21.02.2011, 08:00   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

UDF
Код:
Function GetNumeric(t$) As Integer
    Dim j As Integer, l As String
    For j = 1 To Len(t)
        If IsNumeric(Mid(t, j, 1)) Then
            GetNumeric = Mid(t, j, 1)
            Exit Function
        End If
    Next j
End Function
Вложения
Тип файла: rar ExtractNumber.rar (6.9 Кб, 48 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 09:49   #3
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию

спасибо большое! а куда код вставлять? в Module1
competing вне форума Ответить с цитированием
Старый 21.02.2011, 09:55   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Ну да. Вы пример смотрели?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 10:15   #5
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию

всё, разобрался) еще раз спасибо
competing вне форума Ответить с цитированием
Старый 21.02.2011, 10:19   #6
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Ну и формулами:
Код:
=ИНДЕКС(ПСТР(A1;СТРОКА($1:$199);1);ПОИСКПОЗ(ЛОЖЬ;ЕОШ(--ПСТР(A1;СТРОКА($1:$99);1));0))
Формула массива(ввод завершается сочетанием клавиш Ctrl+Shift+Enter)

И формула простая(т.е. вводится обычно):
Код:
=ПРОСМОТР(ЛОЖЬ;НЕ(ЕОШ(--ПСТР(A1;СТРОКА($1:$100);1)));ПСТР(A1;СТРОКА($2:$101);1))
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru

Последний раз редактировалось The_Prist; 21.02.2011 в 10:24.
The_Prist вне форума Ответить с цитированием
Старый 21.02.2011, 10:45   #7
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию

kuklp, не получается у меня использовать вашу функцию в рамках другой:

Function VLOOKUP2(Table As Range, SearchColumnNum As Integer, SearchValue As Variant, _
N As Integer, ResultColumnNum As Integer)
Dim i As Integer
Dim iCount As Integer

For i = 1 To Table.Rows.Count
If Table.Cells(i, SearchColumnNum) = SearchValue Then
iCount = iCount + 1
End If
If iCount = N Then
VLOOKUP2 = Table.Cells(i, ResultColumnNum)
Exit For
End If
Next i
End Function


Почему то N воспринимает только числовые значения, даже вставляя в другую ячейку вашу функцию, а в VLOOKUP2 ссылку на ячейку(позиция N в функции VLOOKUP2) все равно не работает. Можно как-то сделать чтобы они взаимодействовали?
competing вне форума Ответить с цитированием
Старый 21.02.2011, 10:49   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

А можно выложить Ваш пример, с тем что не получается?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 21.02.2011, 11:30   #9
competing
 
Регистрация: 18.02.2011
Сообщений: 8
По умолчанию

kuklp, стал пример писать - вроде разобрался) просто не туда функцию вставлял. Осталось сделать так чтобы в ячейку при объединении значений из нескольких ячеек заносились все значения кроме нуля и ставился знак препинания (запятая или "или"). Можете помочь?
не могу найти как файл прицепить
competing вне форума Ответить с цитированием
Старый 21.02.2011, 11:37   #10
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от competing Посмотреть сообщение
чтобы в ячейку при объединении значений из нескольких ячеек заносились все значения кроме нуля и ставился знак препинания (запятая или "или").
не знаю какое это имеет отношение к данной теме, но вот здесь я функцию выкладывал - по описанию вроде то, что Вам надо.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти k-цифру фибоначчи pizhon1 Помощь студентам 8 17.09.2009 21:28
Заменить автоматически первую букву в ячейке на заглавную. agregator Microsoft Office Excel 2 02.07.2009 18:22
Найти последнюю цифру числа в С++ Vizavi Помощь студентам 4 27.05.2009 21:24
Найти последнюю цифру от числа в Паскале Карабин Помощь студентам 100 17.05.2009 17:34
Найти первую цифру в данных ячейки.. kra183 Microsoft Office Excel 11 09.05.2008 01:35