1

Это сложный вопрос с несколькими этапами.

У меня есть клиент, у которого есть информация, которую необходимо импортировать в Salesforce в качестве заметки.

Они относительно открыты относительно того, как это отформатировано. Пока информация есть и доступна для определенного счета, они счастливы.

Для импорта заметок в Salesforce необходимо, чтобы заметка была в столбце. Проблема заключается в том, что в отдельном файле заметок буквально содержится около 3000 различных строк заметок из основного файла Excel. Каждая из этих строк заметок организована в следующем формате:

ABC Company
Called ABC Company
Had a meeting with ABC Company's Dave at lunch on Friday
Did XYZ with ABC Company


DEF Incorporated
Met DEC Executive while golfing
Sold 30 widgets to DEC yesterday

В основном, название компании, за которым следует переменное количество строк, относящихся к этой компании, за которыми следуют две строки пустого пространства, за которыми следует другая компания и т.д., И т.д. До конца файла.

Так что мне нужно:

Либо создайте отдельный столбец для каждой строки после первой внутри группы, то есть следующим образом:

Called ABC Company | Had a meeting with ABC Company's Dave at lunch on Friday | Did XYZ with ABC Company


Met DEC Executive while golfing | Sold 30 widgets to DEC yesterday

И сопоставьте их со столбцом в первом файле Excel на основе первой строки группы.

Или я должен найти другой способ сделать это более эффективным.

3 ответа3

1

Это сбивает с толку (например, «Каждая из этих строк заметок организована в следующем формате:», однако пример выглядит как столбчатое и название компании отсутствует во второй части последнего примера), поэтому с предположением:

  1. Скопируйте данные и вставьте в Word как неформатированный.
  2. Выберите все и замените ^ p ^ p чем-то отличительным (zzz?)
  3. Замените ^ p на ^ t.
  4. Заменить zzz ^ t на ^ p
  5. Повторно импортируйте в Excel.
0

И всегда есть опция макроса. Далее предполагается, что 1) все ваши данные находятся в столбцах 1 и 2) что каждая из ваших компаний отделена пустой строкой. Не стесняйтесь комментировать с изменениями, которые необходимо сделать.

Вы можете создать копию своего рабочего листа перед запуском.

Sub Repackage()

    Dim lRow As Long
    Dim lDropRow As Long
    Const iCol = 1

    lDropRow = 1
    lRow = 2
    Do

        ' Check for blank entry - indicates new company
        If Cells(lRow, iCol) = "" Then

            lDropRow = lRow
            Rows(lRow).Delete

            lRow = lRow + 1

        Else

            ' Note confirmed - aggregate notes into single line
            Do
                Cells(lDropRow, 256).End(xlToLeft).Offset(0, 1) = Trim(Cells(lRow, iCol))
                Rows(lRow).Delete
            Loop Until Cells(lRow, iCol) = ""

        End If

    Loop Until lRow > Cells(65536, iCol).End(xlUp).Row

End Sub
0

Хитрость заключается в том, чтобы убедиться, что данные действительно регулярны. Если каждая запись содержит ровно 4 строки, разделенные какими-то пустыми строками, то вы золотые, если количество строк варьируется, возможно, придется настроить шаги ниже. В то время как я обычно прыгаю и пишу макрос, можно переформатировать эти данные, используя только обычные формулы в Excel.

Шаг 1.
Вставьте новый столбец слева от всех ваших данных и пустую строку над вашими данными (т. Е. Ваши данные теперь начинаются с B2, а весь столбец A пуст)

Шаг 2. Отметьте начало каждой записи, используя формулу. В A2 вставьте следующую формулу. Используйте функцию заполнения, чтобы скопировать эту формулу по всей электронной таблице.

=IF(AND(ISBLANK(B1)*NOT(ISBLANK(B2))),"START","")

Ваши данные теперь выглядят так:

START   ABC Company
        Called ABC Company
        Had a meeting with ABC Company's Dave at lunch on Friday
        Did XYZ with ABC Company


START   DEF Incorporated
        Met DEC Executive while golfing
        Sold 30 widgets to DEC yesterday

Шаг 3. Теперь мы можем написать формулу для объединения всего в столбце C (или далее вправо)

=IF(A2="START",CONCATENATE(B2,"|",B3,"|",B4,"|",B5),"")

Ваша колонка C будет выглядеть так:

ABC Company|Called ABC Company|Had a meeting with ABC Company's Dave at lunch on Friday|Did XYZ with ABC Company





DEF Incorporated|Met DEC Executive while golfing|Sold 30 widgets to DEC yesterday|

Шаг 4 Выбрать все, Копировать, Специальная вставка - только значения

Шаг 5 Сортируйте столбец C так, чтобы пустые строки падали вниз, копировали и вставляли в текстовый файл, и вы можете приступить к загрузке в Salesforce.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .