Filter but with Array Condition?
Our take
In the world of data management, navigating complex relationships between datasets is a common challenge. The question posed by a user seeking to create a dynamic table that counts unique calendar days associated with various IDs highlights a critical aspect of modern spreadsheet usage: the need for flexibility and adaptability in data analysis. The user, Bobatwork99, is grappling with a formula that doesn't quite meet their needs, specifically the limitation of referencing an array dynamically across rows. This scenario is not just about solving a technical issue; it underscores the broader demand for intuitive, powerful tools that can handle the intricacies of evolving datasets. For those interested in leveraging dynamic arrays, related discussions such as How to count unique days in a list of dates? and Using CHOOSECOLS + FILTER to return only specific columns provide valuable insights into the capabilities of modern spreadsheet technology.
The challenge Bobatwork99 faces—trying to create a formula that can adapt to changing inputs—reflects a common hurdle for many users. As organizations increasingly rely on data-driven decision-making, the ability to manipulate and extract insights from dynamic datasets becomes paramount. The struggle to formulate a solution that works across multiple rows is emblematic of how traditional spreadsheet functions often fall short when confronted with real-world complexities. Users need tools that not only understand these complexities but also empower them to derive meaningful insights without becoming bogged down in intricate formulas. This is where AI-native spreadsheet technology shines, offering innovative solutions that simplify these processes while enhancing user productivity.
Moreover, the conversation around dynamic tables and unique counts touches on a broader theme in data management: the evolution from static to dynamic analysis. As businesses shift towards more agile methodologies, the need for tools that can quickly adapt and provide real-time insights is more critical than ever. Users like Bobatwork99 are not simply seeking to solve a problem; they are exploring how they can leverage innovative solutions to enhance their workflows and outcomes. This shift emphasizes the importance of human-centered design in technology—ensuring that the tools we use are accessible, intuitive, and supportive of user goals.
As we look ahead, the implications of these discussions extend beyond individual user challenges. They signal a larger trend towards more interactive and responsive data management systems that prioritize user experience. The ability to seamlessly integrate dynamic arrays with powerful filtering capabilities represents just the tip of the iceberg in terms of what is possible in AI-native spreadsheet technology. As users continue to push the boundaries of what these tools can achieve, we can anticipate a future where data analysis is not only more efficient but also more aligned with the evolving needs of businesses and individuals alike.
The question remains: how will the ongoing evolution of spreadsheet technology continue to reshape the way we interact with data? As users demand more flexible and powerful solutions, the industry must respond with innovation that not only meets but anticipates these needs. The journey towards a more intuitive and effective data management landscape is just beginning, and it will be exciting to see where it leads.
Hello,
I have two sets of data that changes from week to week, with IDs & Dates. I'm trying to create a dynamic table that counts how many unique calendar days are associated with each ID.
Date table has Ids & Dates (ID in col 1, Date in col 2) - it's an array starting in A4
ID table has IDs for the week to be needed (Just an array of IDs that's on T4)
I came up with Count(unique(filter(choosecols(A4#,2),choosecols(A4#,1)=T4#))), but that doesn't work because T4# can't be an array. It works with T4, but how can I dynamically put it on every row?
[link] [comments]
Read on the original site
Open the publisher's page for the full experience
Related Articles
- How to count unique days in a list of dates?I have a list of dates like below and want to get the values of number of days by year. So in the example below it would be 2025 = 2 (10/09 and 09/28) and 2026 = 5 -- I don't want a pivot table but I did try =COUNTIFS(C16:C988,">="&DATE(2024,1,1),C16:C988,"<"&DATE(2025,1,1)) which would give me a total by year (in this case 2024. But that doesn't get the unique days. Excel for Mac is the software Thanks for any help. https://preview.redd.it/ulv6qcql3vwg1.png?width=75&format=png&auto=webp&s=bf2d69f7b5cfae14f09afb49b1f24c25a1b9c2b6 2026-04-08 2026-04-03 2026-04-03 2026-03-30 2026-03-30 2026-03-25 2026-03-25 2026-03-24 2026-03-24 2025-10-09 2025-09-28 2025-09-28 submitted by /u/UnicodeConfusion [link] [comments]
- Using CHOOSECOLS + FILTER to return only specific columnsHi all,Sharing a small dynamic-array trick using CHOOSECOLS + FILTER.Say you have a table TableData with columns: ID, Name, Department, Location, Salary.You can filter by Department and Location, and return only Name and Salary like this: =CHOOSECOLS( FILTER( TableData, (TableData[Department]=G1) * (TableData[Location]=G2) ), 2, 5 ) G1 = Department, G2 = Location, and 2, 5 are the column numbers (Name, Salary) in the filtered spill.Anyone else using CHOOSECOLS in interesting ways?Do you want me to also add a tiny data example in the post so it’s clearer for people replying? submitted by /u/Amolk505 [link] [comments]
- Is there a way to reference an array of arrays?Is there a way to get Excel to use an array of arrays in in a formula? Instead of writing a formula that references an array and dragging it down through a column, can I write the formula in a way that results in an output of SUM(O2#),SUM(O3#),SUM(O4#),SUM(O5#),...,SUM(O1000#)}? I work with enormous data sets, but they vary in size. Since I need the workbooks to work with any amount of data, I end up dragging formulas down extra far, leaving rows that just output empyy values when the data doesn't reach that far. If I can make the formula reference an array of arrays then I could eliminate all those garbage rows. Thank you. Unfortunately, because a security restrictions, I can't use macros or VBA at all. I need to do it everything through standard excel syntax. EDIT: Sorry, I didn't make it clear that I used SUM() as an example to try and simplify and generalize. Here's a more explicit example of what I'm doing: ID Data Col C Col D A 14 =UNIQUE(ID#) =IF($C1="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C2,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) A 23 =IF($C2="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C2)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) A 42 =IF($C3="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C3,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B 1 =IF($C4="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C4,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B 2 =IF($C5="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C5,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B =IF($C6="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C6,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B =IF($C7="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C7,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B 90 =IF($C8="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C8,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) B 94 =IF($C9="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C9,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) =IF($C10="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C10)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) ... =IF($C1000="","",LET(ArrSt1,TRIMRANGE(DROP($B:$B,4),2),ArrSt3,TRIMRANGE(DROP($H:$H,4),2),ArrA,(FILTER(ArrSt3,ArrSt1=C1000,)),TRANSPOSE(FILTER(ArrA,ArrA<>"")))) Output: ID Data Col C Col D Col E Col F F A 14 A 14 23 42 A 23 B 1 2 90 94 A 42 "" B 1 "" B 2 "" B "" B "" B 90 "" B 94 "" "" ... "" There are a lot of data manipulations omitted, so if something seems weird (like the empty cells in Data Col) please ignore it. The questions is how to eliminate the unneeded rows in Col D. Thank you. EDIT2: Studying the BYROW, SCAN, and MAP suggestions, led to this page on Exceljet, https://exceljet.net/glossary/array-of-arrays , that suggests my question is a known problem in Excel's engine and there is no work-around. Thank you to everyone who tried to help. submitted by /u/TwitchyDingo [link] [comments]