2

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

Столбец содержит все базы данных, относящиеся к записи в одной ячейке, разделенные запятыми. Мне нужно разделить этот список и поместить каждую базу данных в отдельную ячейку. Важное примечание: мне не разрешено использовать макросы / код VBA в этом решении.

Первое легко: найдите первую запятую, верните все слева от этого. Это следующие, с которыми я борюсь.

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

Как я могу заняться следующими?

2 ответа2

1

Это не ответ функции таблицы, но он также не использует VBA.

Вы пытались использовать функцию "Текст в столбцы"? В Excel 2010 это одна из кнопок на ленте данных.

  1. Выберите свой столбец.
  2. Нажмите кнопку "Текст в столбцы".
  3. На первой странице мастера выберите "С разделителями", затем "Далее".
  4. На второй странице отметьте "Запятая", чтобы выбрать его в качестве разделителя. Вы можете поставить галочку / снять отметку с некоторых других в зависимости от формата ваших данных.
  5. Вы можете нажать кнопку Готово в этот момент, чтобы разбить данные на столбцы, но вы можете перейти на следующую страницу, чтобы изменить форматы столбцов.
1

С образцами данных в A1, в B1 введите:

=TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

и скопировать через:

EDIT # 1:

Если мы начнем с материала в столбцах A и B, как это:

и запустите этот короткий макрос:

Sub dural()
   Dim N As Long, i As Long, K As Long
   N = Cells(Rows.Count, "A").End(xlUp).Row
   K = 1

   For i = 2 To N
      v = Cells(i, "A").Value
      ary = Split(Cells(i, "B").Value, ",")
      For Each a In ary
         Cells(K, "C").Value = v
         Cells(K, "D").Value = a
         K = K + 1
      Next a
   Next i
End Sub

мы закончим с этим:

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