Не мога да измисля по-конкретно заглавие за този въпрос, съжалявам.
Имам данни, които са извлечени от aголяма база данни, но в една колона са отбелязани точки, а excel поставя всяка точка от куршума в нов ред в колона А. Бих искал формула да вземе всички данни от тази колона и да я добави към съответния ред.
Не всички записи имат списъци, а не всички списъци са с еднаква дължина, така че аз трябва да намеря начин да кажа excel кои входящи връзки, които ред също.
Ето пример за данните, с които работя
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
... и т.н. .......
Възможно ли е това?
Вече съм опитвал няколко подхода, но съм донякъде начинаещ.
Отговори:
0 за отговор № 1В Е2:
=IF(LEN(INDIRECT(ADDRESS(ROW()+COLUMN()-4,2)))=0,INDIRECT(ADDRESS(ROW()+COLUMN()-4,1)),"")
По същество, ако колона Б в реда по-долу е празен, вземете стойността (от списъка) от колона А.
Попълнете това надясно през ред 2 (от колона E до най-дясно, колкото ви е необходимо). След това напълнете.
Когато сте готови, копирайте / поставете стойности, за да се отървете от формулите и след това подредете по колонка A и изтрийте всички редове в елемента от списъка.
0 за отговор № 2
Ако приемем, че наистина е написано "A #" в колона А на всеки ред, който желаете ...
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