Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск с копированием на новый лист в отдельную колонку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Поиск с копированием на новый лист в отдельную колонку
stria Дата: Четверг, 27.09.2018, 11:50 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Помогите решить задачу по поиску слов с копированием на новый лист в отдельную колонку.
См. файл.
Условие:
Нужно найти все фамилии с должностью БП и скопировать на новый лист в колонку.
Т.е создав условие поиска ...БП(пробел)... ПОИСК....и после этого результат поиска всех БП + связанная с запросом фамилия будет на новом листе в отдельной колонке.
К сообщению приложен файл: 2301140.xlsx (9.4 Kb)
 
Ответить
СообщениеДобрый день!
Помогите решить задачу по поиску слов с копированием на новый лист в отдельную колонку.
См. файл.
Условие:
Нужно найти все фамилии с должностью БП и скопировать на новый лист в колонку.
Т.е создав условие поиска ...БП(пробел)... ПОИСК....и после этого результат поиска всех БП + связанная с запросом фамилия будет на новом листе в отдельной колонке.

Автор - stria
Дата добавления - 27.09.2018 в 11:50
sboy Дата: Четверг, 27.09.2018, 12:36 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
У Вас одна запись выбивается из общего ряда
БП BS Казакова Е.М.
Это ошибка или нет?


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
У Вас одна запись выбивается из общего ряда
БП BS Казакова Е.М.
Это ошибка или нет?

Автор - sboy
Дата добавления - 27.09.2018 в 12:36
stria Дата: Четверг, 27.09.2018, 12:42 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
БП BS Казакова Е.М.

Это исключение
 
Ответить
Сообщение
БП BS Казакова Е.М.

Это исключение

Автор - stria
Дата добавления - 27.09.2018 в 12:42
sboy Дата: Четверг, 27.09.2018, 13:08 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
В смысле исключение? Эта фамилия относится к должности БП?
и много таких исключений?


Яндекс: 410016850021169

Сообщение отредактировал sboy - Четверг, 27.09.2018, 13:09
 
Ответить
СообщениеВ смысле исключение? Эта фамилия относится к должности БП?
и много таких исключений?

Автор - sboy
Дата добавления - 27.09.2018 в 13:08
sboy Дата: Четверг, 27.09.2018, 13:41 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Сделал как понял
[vba]
Код
Sub bp()
Dim result()
    arr = Sheets(1).Range("a1:a14").Value
    For i = 1 To UBound(arr)
        If Not IsEmpty(arr(i, 1)) Then txt = txt & " " & arr(i, 1)
    Next
    With CreateObject("VBScript.RegExp")
        .Pattern = "(?:БП )([^.]+[.А-Я]{2}\.)"
        .Global = True
        ReDim result(0 To .Execute(txt).Count - 1)
            For i = 0 To .Execute(txt).Count - 1
                result(i) = .Execute(txt)(i).submatches(0)
            Next
    End With
    Sheets(2).Cells(1).Resize(i, 1).Value = Application.Transpose(result)
End Sub
[/vba]
К сообщению приложен файл: 2301140.xlsm (17.7 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеСделал как понял
[vba]
Код
Sub bp()
Dim result()
    arr = Sheets(1).Range("a1:a14").Value
    For i = 1 To UBound(arr)
        If Not IsEmpty(arr(i, 1)) Then txt = txt & " " & arr(i, 1)
    Next
    With CreateObject("VBScript.RegExp")
        .Pattern = "(?:БП )([^.]+[.А-Я]{2}\.)"
        .Global = True
        ReDim result(0 To .Execute(txt).Count - 1)
            For i = 0 To .Execute(txt).Count - 1
                result(i) = .Execute(txt)(i).submatches(0)
            Next
    End With
    Sheets(2).Cells(1).Resize(i, 1).Value = Application.Transpose(result)
End Sub
[/vba]

Автор - sboy
Дата добавления - 27.09.2018 в 13:41
_Boroda_ Дата: Четверг, 27.09.2018, 13:46 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А я что-то не посмотрел то, что вопрос в ветке VBA и сделал формулами (не оптимизировал, просто что первое в голову пришло)
Код
=ЕСЛИОШИБКА(ПСТР(ИНДЕКС(A$1:A$99;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99));СТРОКА(C1)));ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+0,1;ПОИСКПОЗ(0=0;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1))<ИНДЕКС((ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);1)=".")*(ПСТР(A$1:A$99;СТОЛБЕЦ(C:KZ);1)=".")*(СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99));СТРОКА(C1)););)-ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+3,1);"")


*чуть изменил, забыл заключительную точку
К сообщению приложен файл: 2301140_1.xlsx (12.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА я что-то не посмотрел то, что вопрос в ветке VBA и сделал формулами (не оптимизировал, просто что первое в голову пришло)
Код
=ЕСЛИОШИБКА(ПСТР(ИНДЕКС(A$1:A$99;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99));СТРОКА(C1)));ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+0,1;ПОИСКПОЗ(0=0;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1))<ИНДЕКС((ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);1)=".")*(ПСТР(A$1:A$99;СТОЛБЕЦ(C:KZ);1)=".")*(СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99));СТРОКА(C1)););)-ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$99;СТОЛБЕЦ(A:KX);3)="БП ";СТРОКА(A$1:A$99)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+3,1);"")


*чуть изменил, забыл заключительную точку

Автор - _Boroda_
Дата добавления - 27.09.2018 в 13:46
stria Дата: Четверг, 27.09.2018, 15:55 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
НЕВЕРОЯТНО....!
СПАСИБО ОГРОМНОЕ
 
Ответить
Сообщение_Boroda_,
НЕВЕРОЯТНО....!
СПАСИБО ОГРОМНОЕ

Автор - stria
Дата добавления - 27.09.2018 в 15:55
stria Дата: Четверг, 27.09.2018, 16:08 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
Попробовал некоторые изменения сделать в условия поиска и формула перестала работать. Теперь для поиска не БП, а КВС.
Может что то не так? Посмотрите в новом файле
К сообщению приложен файл: 2301140_3.xlsx (20.7 Kb)
 
Ответить
Сообщение_Boroda_,
Попробовал некоторые изменения сделать в условия поиска и формула перестала работать. Теперь для поиска не БП, а КВС.
Может что то не так? Посмотрите в новом файле

Автор - stria
Дата добавления - 27.09.2018 в 16:08
stria Дата: Четверг, 27.09.2018, 16:20 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
sboy,
Спасибо.
Меняю фамилии и макрос не работает при новых данных.
Что в макросе нужно переписать, чтобы изменить условия поиска? Например не БП искать, а КВС?
 
Ответить
Сообщениеsboy,
Спасибо.
Меняю фамилии и макрос не работает при новых данных.
Что в макросе нужно переписать, чтобы изменить условия поиска? Например не БП искать, а КВС?

Автор - stria
Дата добавления - 27.09.2018 в 16:20
_Boroda_ Дата: Четверг, 27.09.2018, 16:28 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Конечно, вот смотрите:
1. В "БП " 3 буквы, а в "КВС " 4, следовательно, в ПСТР нужно все 3 заменить на 4.
2. Это формула массива (видите в моем файле фигурные скобочки по краям формулы? - они указывают на это), она вводится одновременным нажатием Контрл Шифт Ентер
3. В предыдущей формуле было до 99 строки в столбце А, а у Вас сейчас там 177 строк заполнено
Код
=ЕСЛИОШИБКА(ПСТР(ИНДЕКС(A$1:A$199;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199));СТРОКА(C1)));ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+0,1;ПОИСКПОЗ(0=0;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1))<ИНДЕКС((ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);1)=".")*(ПСТР(A$1:A$199;СТОЛБЕЦ(C:KZ);1)=".")*(СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199));СТРОКА(C1)););)-ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+3,1);"")
К сообщению приложен файл: 2301140_4.xlsx (26.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКонечно, вот смотрите:
1. В "БП " 3 буквы, а в "КВС " 4, следовательно, в ПСТР нужно все 3 заменить на 4.
2. Это формула массива (видите в моем файле фигурные скобочки по краям формулы? - они указывают на это), она вводится одновременным нажатием Контрл Шифт Ентер
3. В предыдущей формуле было до 99 строки в столбце А, а у Вас сейчас там 177 строк заполнено
Код
=ЕСЛИОШИБКА(ПСТР(ИНДЕКС(A$1:A$199;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199));СТРОКА(C1)));ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+0,1;ПОИСКПОЗ(0=0;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1))<ИНДЕКС((ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);1)=".")*(ПСТР(A$1:A$199;СТОЛБЕЦ(C:KZ);1)=".")*(СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199));СТРОКА(C1)););)-ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(A$1:A$199;СТОЛБЕЦ(A:KX);4)="КВС ";СТРОКА(A$1:A$199)+СТОЛБЕЦ(A:KX)%%);СТРОКА(C1));1)/1%%+3,1);"")

Автор - _Boroda_
Дата добавления - 27.09.2018 в 16:28
sboy Дата: Четверг, 27.09.2018, 17:10 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Например не БП искать, а КВС?

в ячейку B1 пишите, что нужно искать, потом запускайте
[vba]
Код
Sub bp()
Dim result()
    With Sheets(1)
        arr = Range(.Cells(1), .Cells(.Rows.Count, 1).End(xlUp)).Value
        p = .Cells(2).Value
    End With
    For i = 1 To UBound(arr)
        If Not IsEmpty(arr(i, 1)) Then txt = txt & " " & arr(i, 1)
    Next
    With CreateObject("VBScript.RegExp")
        .Pattern = "(?:" & p & " )([^.]+[.А-Я]{2}\.)"
        .Global = True
        ReDim result(0 To .Execute(txt).Count - 1)
            For i = 0 To .Execute(txt).Count - 1
                result(i) = .Execute(txt)(i).submatches(0)
            Next
    End With
    Sheets(2).Cells(1).Resize(i, 1).Value = Application.Transpose(result)
End Sub
[/vba]
К сообщению приложен файл: 7303800.xlsm (18.0 Kb)


Яндекс: 410016850021169
 
Ответить
Сообщение
Например не БП искать, а КВС?

в ячейку B1 пишите, что нужно искать, потом запускайте
[vba]
Код
Sub bp()
Dim result()
    With Sheets(1)
        arr = Range(.Cells(1), .Cells(.Rows.Count, 1).End(xlUp)).Value
        p = .Cells(2).Value
    End With
    For i = 1 To UBound(arr)
        If Not IsEmpty(arr(i, 1)) Then txt = txt & " " & arr(i, 1)
    Next
    With CreateObject("VBScript.RegExp")
        .Pattern = "(?:" & p & " )([^.]+[.А-Я]{2}\.)"
        .Global = True
        ReDim result(0 To .Execute(txt).Count - 1)
            For i = 0 To .Execute(txt).Count - 1
                result(i) = .Execute(txt)(i).submatches(0)
            Next
    End With
    Sheets(2).Cells(1).Resize(i, 1).Value = Application.Transpose(result)
End Sub
[/vba]

Автор - sboy
Дата добавления - 27.09.2018 в 17:10
stria Дата: Четверг, 27.09.2018, 18:43 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
Премного благодарен. Все работает. yes hands
 
Ответить
Сообщение_Boroda_,
Премного благодарен. Все работает. yes hands

Автор - stria
Дата добавления - 27.09.2018 в 18:43
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!