Переформатування даних у програмі excel


1

Це складне запитання з декількома кроками.

У мене є клієнт, який має інформацію, яку потрібно імпортувати в Salesforce як примітку.

Вони відносно відкриті щодо того, як це відформатовано. Поки інформація є і доступна певному користувачеві, вони задоволені.

Імпорт Salesforce для нотаток вимагає, щоб нотатка була стовпцем. Проблема в цьому полягає в тому, що в окремому файлі примітки від головного файлу excel буквально близько 3000 різних рядків примітки. Кожен із цих рядків примітки організований у такому форматі:

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 на основі першого рядка групи.

Або я мушу знайти інший спосіб зробити це, який є більш ефективним.

Відповіді:


1

Це заплутано (наприклад, "Кожен із цих рядків нотатки організований у такому форматі:" все ж приклад виглядає стовпчиком та назвою компанії, відсутньою у другій частині останнього прикладу) так, із здогадками:

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

1
Оскільки він хоче, щоб передача даних була розділена для імпорту в силу продажу, він повинен замінити ^ p на '|'. EDIT: чим більше я думаю про це, я думаю, що він просто замінює одну проблему на іншу. Я не впевнений, чи Salesforce обробить файл масового імпорту зі змінною кількістю елементів на запис. Йому, можливо, доведеться повторно переформатувати компанію | У всякому разі, хороша відповідь.
WombatPM

0

Хитрість полягає в тому, щоб переконатися, що дані дійсно регулярні. Якщо кожен запис становить рівно 4 рядки, розділені деякими порожніми рядками, то ви золоті, якщо кількість рядків змінюється, можливо, доведеться підготувати кроки нижче. Хоча я звичайно запускаюсь і пишу макрос, ці дані можна переформатувати за допомогою звичайних формул у excel.

Крок 1.
Вставте новий стовпець ліворуч від усіх ваших даних і порожній рядок над вашими даними (тобто ваші дані тепер починаються у В2, а весь стовпець А порожній)

Крок 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. Сортуйте стовпчик С таким чином, щоб порожні рядки опустилися на дно, скопіюйте та вставіть у текстовий файл, і ви готові перейти до завантаження в Salesforce.


0

І завжди є макро варіант. Далі випливає, що 1) всі ваші дані містяться в стовпцях 1 і 2), що кожна ваша компанія відокремлена порожнім рядком. Не соромтесь коментувати коригування, які потрібно внести.

Ви можете створити копію свого робочого аркуша, перш ніж запустити його.

Підпакування ()

    Дім lRow як довгий
    Дім lDropRow як довгий
    Const iCol = 1

    lDropRow = 1
    lRow = 2
    Зробіть

        'Перевірте пустий запис - вказує нову компанію
        Якщо Cells (lRow, iCol) = "" Тоді

            lDropRow = lRow
            Рядки (lRow) .Delete

            lRow = lRow + 1

        Інше

            'Примітка підтверджена - сукупність приміток в один рядок
            Зробіть
                Клітини (lDropRow, 256) .End (xlToLeft) .Offset (0, 1) = Обрізання (Cells (lRow, iCol))
                Рядки (lRow) .Delete
            Цикл до осередків (lRow, iCol) = ""

        Кінець Якщо

    Цикл до lRow> Осередки (65536, iCol) .End (xlUp) .Row

Кінець Під
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.