Формула для переноса текста с одного листа в excel на другой для суммирования (не чисел)

У меня есть электронная таблица, в которой есть вкладка для каждого места исследования. На листе есть раздел с несколькими столбцами. Три столбца следующие: 1 перечисляет действия (текст), 1 перечисляет ответственных (текст) и 1 перечисляет дату выполнения (поле даты). Строки в этой же «таблице» представляют категории. Во многих случаях есть пункт действия только в одной или двух категориях, а для некоторых может вообще не быть.

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

Я думал, что может работать какая-то функция ЕСЛИ или ВПР или какая-то сводная таблица, но поскольку это текст, а не числа, мне трудно создать соответствующую формулу. Мне также сказали, что я могу сделать какой-то справочный поиск (например, поместить слово типа ДЕЙСТВИЕ в начало любого текста, который я хочу найти позже), но это кажется более сложным, чем должно быть.

Любая помощь будет глубоко оценена.


person user3620321    schedule 09.05.2014    source источник
comment
почему вы помечаете sql здесь?   -  person neophyte    schedule 09.05.2014
comment
Это то, что предложило переполнение стека, если бы я знал, что делаю, стал бы я спрашивать об этом?   -  person user3620321    schedule 09.05.2014
comment
Тег sql исчез. Что касается вопроса, мой подход к офисным макросам заключается в том, чтобы всегда начинать с использования средства записи макросов и делать что-то вручную. Это дает мне некоторый код для работы. После этого речь идет об условной логике, циклах и многом другом.   -  person Dan Bracuk    schedule 09.05.2014
comment
Похоже, вам просто нужно выполнить vlookup. . Скопируйте уникальный идентификатор на рабочий лист и просмотрите поля, которые вы хотите добавить на свой лист.   -  person Ripster    schedule 09.05.2014
comment
VLookup может быть сложным для начинающих пользователей. Я подозреваю, что VLookup — это все, что вам нужно. Посмотрите внимательно на синтаксис VLookup и используйте его. Он должен работать   -  person Peekay    schedule 09.05.2014
comment
что будет «значением поиска» при использовании ВПР ?? Действия могут быть любыми.   -  person neophyte    schedule 09.05.2014


Ответы (1)


Я не думаю, что ВПР может решить вашу проблему. Вам определенно нужен VBA, поэтому что-то вроде этого поможет вам. Создайте новый лист под названием «Сводка» и поместите в него этот код:

Sub SummarizeSheets()
Dim ws As Worksheet

Application.ScreenUpdating = False
Sheets("Summary").Activate
 Range("A2").Select
 For Each ws In Worksheets
    If ws.Name <> "Summary" Then
     If ws.Range("A2") <> "" Then 'A2 is blank means no action items found so go to next worksheet
      ws.Range("A2:C100000").Copy 'Adjust your range here
      ActiveSheet.Paste Range("A65536").End(xlUp).Offset(2, 0)' Paste the copied range
    End If
     End If
Next ws
Application.CutCopyMode = False
End Sub

Вы должны настроить код в соответствии с вашими потребностями. Предположим, что ваши действия начинаются с ячейки A2, а ответственное лицо и срок выполнения находятся в ячейках B2 и C2 соответственно.

person neophyte    schedule 09.05.2014
comment
Спасибо, я работаю с этим решением прямо сейчас и думаю, что это решение! - person user3620321; 10.05.2014
comment
дайте мне знать, если у вас возникнут какие-либо проблемы - person neophyte; 12.05.2014