Não consigo pensar em um título mais específico para esta pergunta, desculpe.
Tenho alguns dados que foram extraídos de umbanco de dados grande, no entanto, uma coluna contém pontos de bala, e o Excel colocou cada ponto de bala em uma nova linha na coluna A. Eu gostaria de uma fórmula para pegar todos os dados desta coluna e adicioná-los à linha relevante.
Nem todas as entradas têm listas, e nem todas as listas têm o mesmo comprimento, então preciso encontrar uma maneira de dizer ao Excel quais links de entrada quais linhas também.
Aqui está um exemplo dos dados com os quais estou trabalhando
Code Name Info List
A10 A10 name A10 info List Item 1
List Item 2
List Item 3
A11 A11 name A11 info
A12 A12 name A12 info List item 1
List Item 2
A13 A13 name A13 info List item 1
List Item 2
List Item 3
List Item 4
A14 A14 name A14 info
A15 A15 name A15 info
A16 A16 name A16 info
etc....
I would like it to look like this
Code Name Info List List 2 List 3
A10 A10 name A10 info List Item 1 List Item 2 List Item 3
A11 A11 name A11 info
A12 A12 name A12 info List item 1 List Item 2
... etc .......
Isso é possível?
Já tentei várias abordagens, mas sou um pouco novato.
Respostas:
0 para resposta № 1Em E2:
=IF(LEN(INDIRECT(ADDRESS(ROW()+COLUMN()-4,2)))=0,INDIRECT(ADDRESS(ROW()+COLUMN()-4,1)),"")
Essencialmente, se a coluna B na linha abaixo estiver em branco, pegue o valor (lista) da coluna A.
Preencha-o à direita na linha 2 (da coluna E até o máximo que você precisar). Em seguida, preencha.
Quando terminar, copie / cole os valores para se livrar das fórmulas e, a seguir, classifique na coluna A e exclua todas as linhas de itens da lista.
0 para resposta № 2
Supondo que esteja realmente escrito "A #" na coluna A de cada linha que você deseja ...
dim i as integer
"puts the list otems at the end of the previous row
for i = 1 to Cells(Rows.Count, "A").End(xlUp).Row
if not range("A" & i) Like "A#" then
if range("E" & i - 1) = "" Then"I assumed only 3 possible bullets, but suit this to your liking. If there are many bullets put this in a loop.
range("E" & i - 1) = range("A" & i)
ElseIf range("E" & i - 1)(,2) = "" Then
range("E" & i - 1)(,2) = range("A" & i)
ElseIf range("E" & i - 1)(,3) = "" Then
range("E" & i - 1)(,3) = range("A" & i)
Rows("i").delete Shift:=xlUp "deletes the line
end if
next