2 min readfrom Microsoft Excel | Help & Support with your Formula, Macro, and VBA problems | A Reddit Community

Stop using ungodly INDEX math to flatten 2D schedules. TOCOL() + FILTER() is all you need.

Our take

If you’re tired of wrestling with complicated INDEX formulas to flatten your 2D schedules, it's time to embrace a simpler approach. By utilizing TOCOL() and FILTER(), you can effortlessly transform resource trackers and exports into a flat list ready for Pivot Tables. This method not only eliminates the frustration of dealing with "[empty]" text but also streamlines the process of aligning status with tasks. With dynamic array functions available in Office 365 and newer Excel versions, you can simplify your workflow and save valuable time.

This comes up constantly. Someone gets handed a resource tracker or a system export where tasks are split across "Morning Task" and "Afternoon Task" columns, and they need a flat list to dump into a Pivot Table. Simple enough ask.

The fun part? Half these exports don't even leave cells blank - they write out [empty] as literal text, so any trick that relies on detecting blank cells just falls flat. And on top of that there's usually a Status column you need to drag along, but only once per person - not stamped next to every single task row like a broken rubber stamp.

Old solution was some deeply cursed nested INDEX/ROW formula that nobody could read six months later. If you're still doing that, please stop.

On Office 365 you can handle the whole thing in one shot:

=LET(data, A2:C11, status, D2:D11, col_data, TOCOL(data), col_status, TOCOL(IF(SEQUENCE(1,COLUMNS(data))=1, status, "")), FILTER(HSTACK(col_data, col_status), col_data<>"[empty]"))

TOCOL flattens the grid, the IF/SEQUENCE combo makes sure the status only shows up next to the name and not repeated under every task, HSTACK glues the two columns together, and FILTER kills all the [empty] noise. Keep your ranges the same size throughout or you'll get a #VALUE! staring back at you.

These dynamic array functions honestly flew under the radar for a lot of people who don't spend their weekends reading Excel update logs. Hope it saves someone a headache.

Note; for Excel 2019 and 2021 you can use power query. However in the 2021 version you can use the filter and sequence function.

In 2021 version; the formulas are;

=FILTER(INDEX(A2:C11,MOD(SEQUENCE(30)-1,10)+1,INT((SEQUENCE(30)-1)/10)+1),INDEX(A2:C11,MOD(SEQUENCE(30)-1,10)+1,INT((SEQUENCE(30)-1)/10)+1)<>"[empty]")

and

=FILTER(IF(INT((SEQUENCE(30)-1)/10)+1=1,INDEX(D2:D11,MOD(SEQUENCE(30)-1,10)+1),""),INDEX(A2:C11,MOD(SEQUENCE(30)-1,10)+1,INT((SEQUENCE(30)-1)/10)+1)<>"[empty]")

one thank go at user for pointing it out to me Excel_User_1977

submitted by /u/Good-Willingness2234
[link] [comments]

Read on the original site

Open the publisher's page for the full experience

View original article

Tagged with

#Excel alternatives for data analysis#generative AI for data analysis#no-code spreadsheet solutions#natural language processing for spreadsheets#big data management in spreadsheets#conversational data analysis#Excel compatibility#real-time data collaboration#intelligent data visualization#data visualization tools#enterprise data management#big data performance#Excel alternatives#data analysis tools#data cleaning solutions#row zero#rows.com#AI formula generation techniques#formula generator#INDEX