Неочищенные строки excel и дубликаты данных
Мне предоставлена довольно большая база данных, хранящаяся в Microsoft Excel, которую я должен попробовать преобразовать во что-то полезное.
Однако одна из проблем, с которыми я сталкиваюсь, заключается в том, что некоторые данные объединены (горизонтально в 2 с).
Например:
row 1: [ x ][ x ][ x ][ x ][ x ]
row 2: [ x ][ x ][ o o ][ x ]
row 3: [ o o ][ x ][ o o ]
Где x - одиночные ячейки и o объединены вместе
Что я хочу сделать, это разблокировать все строки (что я мог бы сделать довольно легко с помощью кнопки unmerge), но для того, где была объединенная ячейка, данные дублируются через 2 ячейки.
Из; [[ Some Data ]]
К; [ Some Data ][ Some Data ]
Спасибо! Любая помощь приветствуется.
Ответы
Ответ 1
Это решение VBA. Этот макрос будет искать каждую ячейку активного листа, чтобы увидеть, объединены ли они. Если они есть, он сохраняет диапазон объединенных ячеек в temp. изменяя диапазон, снимает соты, затем заполняет диапазон значением первой ячейки в невнесенном диапазоне (какое значение было).
Sub UnMergeFill()
Dim cell As Range, joinedCells As Range
For Each cell In ThisWorkbook.ActiveSheet.UsedRange
If cell.MergeCells Then
Set joinedCells = cell.MergeArea
cell.MergeCells = False
joinedCells.Value = cell.Value
End If
Next
End Sub
Ответ 2
- Выберите диапазон, который объединил данные
- Нажмите "Объединить" и "Центр", чтобы разблокировать ячейки.
- Выбрать диапазон данных снова
- Нажмите Ctrl + G > Специальные > Бланки
- Нажмите = и стрелка вверх
- Нажмите Ctrl + Enter
Ответ 3
Вам не нужен VBA для чего-то подобного.
- Выберите диапазон объединенных ячеек
- Освободить ячейки
- Главная → Найти и выбрать → Перейти к специальному... → Бланки → ok
- Введите "=", переместите одну ячейку вверх и нажмите Ctrl + Enter
Если стили R1C1 включены:
Файл → Параметры → Формула → R1C1 Справочный стиль, затем
- ...
- ...
- ...
- Введите "= R [-1] c" и нажмите Ctrl + Enter
Ответ 4
Я не знаю, как быстро реализовать код VBA, но я использовал формулу для заполнения другого столбца значениями... затем я применил магию копирования/вставки при вставке значений в незаряженные ячейки. Эта формула основана на том факте, что значение связано с ПЕРВОЙ ячейкой слитых ячеек, а все остальные имеют значение 0 (ноль).
Если полковник A2: A100 имеет объединенные ячейки, я сделал следующее:
- В ячейку B2 я ввел следующую формулу:
=IF(A2<>0,A2, B1)
- Скопируйте формулу до B100
- Скопируйте/вставьте значения только в столбец C.
- Снять все столбец А.
- Скопируйте значения из столбца C в столбец A.
На самом деле, вы можете упростить это до этой серии, если вы смелы...
- Снять все столбец А
- В ячейку B2 я ввел следующую формулу:
=IF(A2<>0,A2, B1)
- Скопируйте формулу до B100
- Скопируйте/вставьте значения только в столбец A
Это пропускает использование столбца C...