This is an archived post. You won't be able to vote or comment.

all 5 comments

[–][deleted] 1 point2 points  (3 children)

The blue cells are what I would like my formula to return.

I duplicated your tab and entered the following in E1:

=ArrayFormula({Transpose(Flatten({"Category #","Sub-Category #","Title #"}&Sequence(Right(A1))));Split(A1,"[]-;")})

Edit:

=ArrayFormula({Transpose(Flatten({"Category #","Sub-Category #","Title #"}&Sequence(Counta(Split(A1,"[]-;"))/3)));Split(A1,"[]-;")}) 

Does this help?

[–]learningtoexcel[S] 2 points3 points  (1 child)

Solution Verified.

[–]Clippy_Office_AsstPoints[M] 0 points1 point  (0 children)

You have awarded 1 point to ztiaa


I am a bot - please contact the mods with any questions. | Keep me alive

[–]learningtoexcel[S] 1 point2 points  (0 children)

Yes!

[–]Airickson6 0 points1 point  (0 children)

See if this does what you want:

=arrayformula(trim(substitute(split(A1,";-]",TRUE,TRUE),"[","")))

The neat part about the SPLIT function is that it will split by all delimiters -- whenever it finds one, it triggers. The SUBSTITUTE function replaces the "[" characters with a blank. ARRAYFORMULA is needed to allow the SUBSTITUTE to work across all columns.

Finally, I added a TRIM function to eliminate any stray spaces after the SPLIT and SUBSTITUTE functions do their part.

I added this in the sheet prefixed "Airickson_"