Есть ли путь в Excel, чтобы взять столбец и преобразовать его в сцепленную строку

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

Joe
Bob
George

и преобразуйте это в одну ячейку, которая имеет это:

"Joe", "Bob", "George"

6
задан ChrisWue 17 September 2015 в 21:52
поделиться

4 ответа

Если функция Excel CONCATENATE () не будет делать то, что вы хотите, эта ссылка может помочь.

1
ответ дан 8 December 2019 в 17:18
поделиться

Это просто. Возможно, вы захотите использовать в сочетании с обрезкой, влево, вправо и найти. Наслаждаться!

= A1 & "" & B1

1
ответ дан 8 December 2019 в 17:18
поделиться

Вы можете использовать GetString с набором записей ADO.

Dim cn As Object
Dim rs As Object
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim s As String

''This is not the best way to refer to the workbook
''you want, but it is very conveient for notes
''It is probably best to use the name of the workbook.

strFile = ActiveWorkbook.FullName

strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
    & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open strCon

strSQL = "SELECT * " _
       & "FROM [Sheet1$A:A] "

rs.Open strSQL, cn, 3, 3

''http://www.w3schools.com/ado/ado_getstring.asp
''str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
s = rs.GetString(, , , ", ")
ActiveSheet.Range("B1") = s

''Tidy up
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
0
ответ дан 8 December 2019 в 17:18
поделиться

Я знаю два основных способа.

Самый быстрый способ -

  1. В столбце A перечислены ваши имена.
  2. Скопируйте значение A1 в B1 - «Джо»
  3. В B2 введите формулу `= B1 &", "& A2`.
  4. Выберите B2, скопируйте формулу и вставьте оставшуюся часть столбца B на всю длину столбца A. Последняя ячейка в столбце B будет содержать список значений из столбца A, разделенных запятыми.

Лучше -
Создайте свою собственную функцию vb, которая выполняет итерацию по диапазону ячеек, и вместо того, чтобы суммировать их, как sum , просто объедините их.

Я делаю это все время, поэтому, если кто-то знает о реальной встроенной функции Excel, скрытой где-то в документации MS, которая объединяет диапазоны, вы спасете положение.

3
ответ дан 8 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: