1

Use Case: Golf irrigation valve assembly ordering. My boss said:

Hey [piratecheese13], I don't want this part summary to include blanks between [dynamic arrays] and I want to add and remove things to the [precedent to the array]

I have suggested inserting and deleting rows as needed. This is not a solution. She wants to get my list, add and remove rows from the precedent to the array, and send it to a vendor for ordering. Any work she does beyond that, is work she'd rather I do before it gets to her.

I have a neat little Dynamic Array function =FILTER(PartsAndQuantities1,(Parts1<>"")*(IF(Quantities1=0,"",Quantities1)<>""))and it works flawlessly to summarize while removing 0 counts and blank rows. The next step is to insert the same exact formula for a different range without risking a spill if a row is added or a blank if a row is removed

Here's that function in green working as intended with a 2nd function in red manually typed below

Here's what happens if my boss decides to remove a fitting from F9. She sees a blank in the summary a half hour later and assumes there was an error. Again, easily solved by removing a row but that's not an option.

Here's what happens if my boss decides to add a fitting to F12. She sees #Spill! and knows there is an error Again, easily solved by inserting rows but that's not an option.

Things I Have Attempted:

Just stick an & Between 2 functions. I really thought this would work but this results in F7&F18 and G7&G18 etc as & appears to do work on every line instead of starting after the first FILTER() completes. adding parentheticals around each filter changes nothing. Using + results in value error. Nesting the function within AND() only ever results in Booleans TRUE & FALSE

I've also tried this tutorial on CHOOSE() which handles multiple arrays but only one column and seems like it wouldn't fit

Note: my boss doesn't want to insert lines to solve spill errors, she REALY doesn't want to deal with macro enabled workbooks

Scott Craner
  • 148,073
  • 10
  • 49
  • 81
  • 1
    Do you have VSTACK, yet? It is a new formula that is being released to some so far. – Scott Craner Sep 01 '22 at 17:00
  • If not here is a udf that kind of does the same thing: https://stackoverflow.com/questions/68655098/replicate-google-sheets-array1-array2-function-in-microsoft-excel-as-user-def – Scott Craner Sep 01 '22 at 17:04
  • @ScottCraner there's no sample data, no expected output, no indication of what errors they're getting with their current approach. Images and links to external resources must be supplementary – the question has to stand on its own without them. – miken32 Sep 01 '22 at 18:22
  • @miken32 with Excel formula, many times the only way to show what is going wrong is with a picture. There is enough verbiage in the question for those who frequent the Excel-Formula tag to know what the issue is. I did not even need to open the pictures to know the problem. The pictures helped solidify, but this question could stand on it's own with out them. – Scott Craner Sep 01 '22 at 18:25
  • No I'm not active in the tag, I just came across it because the answer was auto-flagged as possibly problematic. I didn't downvote but did cast my close vote based on the standards set for the site as a whole. – miken32 Sep 01 '22 at 18:34
  • @miken32 I do appreciate your willingness to work through the review queues and your willingness to engage my questions. And I tend in general to agree with your points above. I personally just feel the close was not the correct response in this specific instance, and have cast my vote in that direction. we will see if I get one more to agree with me or not. :) And I will probably be yelled at by the mods because this discussion should probably be in meta. – Scott Craner Sep 01 '22 at 18:55

1 Answers1

1

Thanks to Scott Craner this was exactly what I needed!

=VSTACK(FILTER(F7:G15,(F7:F15<>"")*(IF(G7:G15=0,"",G7:G15)<>"")),FILTER(F17:G23,(F17:F23<>"")*(IF(G17:G23=0,"",G17:G23)<>""))) In green here