Страницы: 1
RSS
"Слияние" строк с одинаковыми значениями в двух столбцах
 
Здравствуйте!
Столкнулся с проблемой, прошу помощи.

Есть допустим 2 строки, в которых одинаковые значения в столбцах A и B, но в остальных столбцах, разные значения которые разбросаны рандомно.
Как быстро объединить эти две строки в одну, чтобы значения в столбцах A и B сохранились, а остальные добавились в пустые ячейки?
И можно ли это сделать на большом объеме данных?

На словах тяжело объяснить, прикрепил файл.
Заранее спасибо!
 
Доброе время суток
Цитата
pain2430 написал:
в которых одинаковые значения в столбцах A и B
Для обоих составленных примеров - ложь. Слейтесь с правилами, дайте осмысленное название темы и добротный без ошибочный пример.
 
1. руками, копия и вставка специальная, с использованием пропустить пустые. потом удалить ненужные
2. всякие модные PowerQuery и старорежимный VBA.
3. прикинуть даже формулами в отдельной таблице можно.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
всякие модные PowerQuery
И что с ними делать!? По навыдумывают, понимаешь!
Изменено: Андрей VG - 06.09.2018 21:28:57
 
Цитата
Андрей VG написал:
Для обоих составленных примеров - ложь. Слейтесь с правилами, дайте осмысленное название темы и добротный без ошибочный пример.
Хорошо. Не правильно выразился. В столбце "B" разные значения, но это не суть кто-кого заменит. Главное чтобы остальные ячейки из двух строк соединились в одну.
Как это сделать?

Цитата
БМВ написал:
1. руками, копия и вставка специальная, с использованием пропустить пустые. потом удалить ненужные2. всякие модные PowerQuery и старорежимный VBA.3. прикинуть даже формулами в отдельной таблице можно.
1) Руками 50 тысяч строк - не вариант.
2) Спасибо, попробую разобраться.
3) О каких формулах идет речь?


Прикреплю файл, чтобы еще понятнее было что нужно. Вот приблизительно такая выборка:
 
Цитата
pain2430 написал:
но это не суть кто-кого заменит
Серьёзно? То есть вас устроит любой даже ошибочный результат? Из бардака можно получить только бардак.
Михаил, к стати, правильно заметил - проще всего на Power Query.
 
Цитата
Андрей VG написал:
Серьёзно? То есть вас устроит любой даже ошибочный результат? Из бардака можно получить только бардак.Михаил, к стати, правильно заметил - проще всего на Power Query.
Какой бардак в указанном моем примере?
Я говорю что в строке B, не важно кто кого заменит.
Столбик А в двух строках с одинаковой датой. Столбец "B", верхнее значение будет "Вася Петров", а нижнее "Петров Вася", и мне не важно, будет ли там то или другое. Вот что имел ввиду по столбцу "B". А в остальных ячейках будет так как показал в примере.
Хорошо, спасибо, попробую установить PowerQuery.
 
Не получается у меня через PowerQuery. Как только не пробовал. Разделял таблицу на две, объединял запросы. И так и сяк, а результата нет :(
 
Цитата
pain2430 написал:
Как только не пробовал. Разделял таблицу на две, объединял запросы.
Странно, у меня, как видите работает. Вы пример творчества приложили. Ну нет на форуме телепатов :(
 
Вот, нормальный пример,  ДО, и как должно быть ПОСЛЕ.
 
Цитата
pain2430 написал:
Вот, нормальный пример,  ДО, и как должно быть ПОСЛЕ.
И каким образом ваше утверждение
Цитата
pain2430 написал:
в которых одинаковые значения в столбцах A и B,
Соответствует истине? Там есть одинаковые значения в столбце B?
Цитата
pain2430 написал:
Я говорю что в строке B, не важно кто кого заменит.
Вы уж определитесь одинаковые или не важно? А то в позу оскорблённой невинности становитесь
Цитата
pain2430 написал:
Какой бардак в указанном моем примере?
 
крос
По вопросам из тем форума, личку не читаю.
 
Цитата
но в остальных столбцах, разные значения которые разбросаны рандомно.
Значения в двух строках одной даты одного столбца могут могут быть или они не пересекаются?
 
Цитата
БМВ написал:
крос
Ну и что? Я же не виноват что на некоторых форумах не могут дать вразумительный ответ, вот и пишу на ВСЕ форумы. Потому что срочно нужна помощь.
Цитата
Андрей VG написал:
Вы уж определитесь одинаковые или не важно? А то в позу оскорблённой невинности становитесь
Объяснил максимально просто, с обычным примером, что еще нужно?
В столбце А в двух строках одинаковые ДАТЫ.
В столбце B, в этих же двух строках, "зеркальный" текст, т.е строка 1 = а - б, строка 2 = б - а.
В остальных строках значения которые привел в примере, могут быть в разных ячейках, но не повторяются в столбцах.
Цитата
Kuzmich написал:
Значения в двух строках одной даты одного столбца могут могут быть или они не пересекаются?
Значения после столбцов A и B - не пересекаются в одном столбце.
Изменено: pain2430 - 08.09.2018 01:16:29
 
Цитата
Значения после столбцов A и B - не пересекаются в одном столбце.
Код
Sub Tablica()
Dim i As Long
Dim j As Integer
Dim iLastRow As Long
Dim arr
Dim arr1
 iLastRow = Range("A1").End(xlDown).Row
 arr = Range("A1:O" & iLastRow).Value
 ReDim arr1(1 To UBound(arr) / 2, 1 To UBound(arr, 2))
  For i = 1 To UBound(arr) Step 2
    arr1(Int(i / 2) + 1, 1) = arr(i, 1)
    arr1(Int(i / 2) + 1, 2) = arr(i, 2)
      For j = 3 To UBound(arr, 2)
        If arr(i, j) = "" Then
          arr1(Int(i / 2) + 1, j) = arr(i + 1, j)
        Else
          arr1(Int(i / 2) + 1, j) = arr(i, j)
        End If
      Next
  Next
    Range("A13").Resize(UBound(arr1), UBound(arr1, 2)) = arr1
End Sub
 
Цитата
Андрей VG написал: Слияние строк (4).xlsx  (20.01 КБ)
Прошу прощения за наезд, не увидел что в прикрепленном файле есть запросы.
Но дело в том, что Я очень далек от экселевских сложных задач, и хотелось бы чтобы Вы объяснили как это сделать пошагово...
 
Kuzmich, вы просто гений. Спасибо!

Андрей VG, спасибо огромное! Разобрался. Не сразу додумался войти в запросе в "расширенный редактор" и посмотреть код.

Kuzmich, и Андрей VG,  невероятно благодарен Вам за помощь. Извините за грубость.
 
Цитата
pain2430 написал:
Ну и что? Я же не виноват что на некоторых форумах не могут дать вразумительный ответ, вот и пишу на ВСЕ форумы
Размещаете тему на нескольких форумах - информируйте об этом (ссылками).
Цитата
pain2430 написал:
Если Вам не под силу это задание, не нужно умничать и строить из себя гуру этого форума.
Выбирайте выражения! Вы с Андреем в разных командах: он в команде помогающих, а Вы в команде вопрошающих.
 
Цитата
pain2430 написал: Ну и что? Я же не виноват что на некоторых форумах не могут дать вразумительный ответ, вот и пишу на ВСЕ форумы. Потому что срочно нужна помощь.
Срочности ознакомиться с правилами форума, конечно же, нет
Цитата
Публикуя один и тот же вопрос в разных форумах и на дружественных сайтах вы заставляете сразу нескольких людей параллельно думать над вашей задачей и обесцениваете усилия тех, кто даст ответ вторым-третьим и т.д.
Свое время экономите, о времени других не задумываетесь.
Не запрещено. Но ссылки на прараллельное размещение вопроса давать нужно.
 
С красненькими и зелененькими :)
 
Цитата
Юрий М написал:
Размещаете тему на нескольких форумах - информируйте об этом (ссылками).
Хорошо. Буду знать.
Цитата
Юрий М написал:
Выбирайте выражения! Вы с Андреем в разных командах: он в команде помогающих, а Вы в команде вопрошающих.
То есть ему не нужно выбирать выражения, а мне нужно?
Я уже извинился за свою маленькую грубость из-за невнимательности.
Цитата
vikttur написал:
Свое время экономите, о времени других не задумываетесь. Не запрещено. Но ссылки на прараллельное размещение вопроса давать нужно.
К сожалению так устроен человек.
Лично Я, на этом форуме могу просить только помощи, так как в экселе полный 0.
Но для чего нужны форумы по разным направлениям? Для тех кто зарабатывает на этом деньги. И для тех кто просит бесплатной помощи у тех кто зарабатывает на этом деньги(с перспективой на знакомство первого и второго лица), когда у второго лица появится задача посложнее, и у второго лица, будет цель обратится к тому кто помог бесплатно, но уже за вознаграждение.
Цитата
Юрий М написал:
а Вы в команде вопрошающих.
По этому, Я не в команде вопрошающих, а в команде на перспективу платежеспособных вопрошающих :)  
 
Цитата
_Igor_61 написал:
С красненькими и зелененькими
Здравствуйте, Игорь! Крутой макрос, спасибо Вам!
Единственный минус, если поставить значения к примеру в колонку AL и AK, то макрос уже не достает туда. Где это можно изменить? Спасибо.
 
Код
For lC = 3 To 15 
- перебор столбцов с третьего по пятнадцатый.
 
Цитата
Лично Я, на этом форуме могу просить только помощи
Не только. Вы можете и помогать - будет хорошо, если не поленитесь и в дублях на всех форумах поделитесь решением.
 
Цитата
_Igor_61 написал:
- перебор столбцов с третьего по пятнадцатый.
Понял. Спасибо огромное, очень ценю Ваш труд.
Цитата
vikttur написал:
Не только. Вы можете и помогать - будет хорошо, если не поленитесь и в дублях на всех форумах поделитесь решением.
Обязательно поделюсь.
 
Цитата
если поставить значения к примеру в колонку AL и AK, то макрос уже не достает туда
В моем макросе замените в строке
Код
arr = Range("A1:O" & iLastRow).Value
O на AL
Страницы: 1
Наверх