2015-03-27 2 views
0

Мне нужно выполнить поиск по всему моему листу определенного слова и заполнить столбец (B-в этом случае) содержать одно и то же слово из столбца A без этого конкретного слова (в этом в случае слова «Фото») Любой может помочь?Как я могу собрать список ячеек, содержащих определенный текст

, например ....

 A     B 
1 Photo Leon  | Leon 

2 Video Raul  | Kelie 

3 Broadcast Noa | 

4 Photo Kelie  | 

5 Video Carl  | 

6 Broadcast Eitan | 
+0

Stack Overflow - это сайт для энтузиастов программирования. Лучший способ получить помощь здесь - сначала попробовать что-то. Если вы застряли, сделайте некоторые исследования, сделайте попытку исправить вещи самостоятельно, и только тогда задайте конкретный вопрос о своих попытках, показывая, что вы пробовали. Вопросы, требующие полных решений без демонстрации исследовательских усилий, обычно закрываются и закрываются. –

ответ

0

Пожалуйста, попробуйте (отрегулировать A$1:A$100 в соответствии с):

=SUBSTITUTE(IFERROR(INDEX(A$1:A$100,SMALL(IF(LEFT(A$1:A$100,6)="Photo ",ROW(A$1:A$100)),ROW(B1))),""),"Photo ","") 

, введенный с помощью Ctrl + Shift + Enter и скопированный до тех пор, пока не появится первая пустая ячейка.

Возможно, вы захотите заменить Photo параметром. Скажите, введите Photo в D1 и вместо этого:

=SUBSTITUTE(IFERROR(INDEX(A$1:A$100,SMALL(IF(LEFT(A$1:A$100,LEN(D$1))=D$1,ROW(A$1:A$100)),ROW(B1))),""),D$1,"") 
+0

спасибо. он работал в одной строке. есть ли способ заставить его работать на всей рабочей таблице? Мне нужно выполнить поиск всего листа для определенного слова и сделать строку, содержащую текст, который находится в этих ячейках. –

+0

Благодарю вас обоих. Мне удалось что-то решить с помощью pnuts , но он мог заставить Гэри ответить на работу. не могли бы вы рассказать мне больше о том, как заставить его работать? Не знаю много скриптов –

0

Попробуйте это довольно небольшой макрос:

Sub FindPhoto() 
    Dim N As Long, i As Long 
    Dim ary, K As Long 
    N = Cells(Rows.Count, "A").End(xlUp).Row 
    K = 1 
    For i = 1 To N 
     v = Cells(i, "A").Text 
     If InStr(v, "Photo") > 0 Then 
      ary = Split(v, " ") 
      Cells(K, "B").Value = Trim(ary(1)) 
      K = K + 1 
     End If 
    Next i 
End Sub 

enter image description here

Смежные вопросы