Delete rows between certain values [closed] - excel

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 9 months ago.
Improve this question
I'd like make a task for my work way more simple, but in pretty lost since I'm just starting to learn VBA.
What I wanna make easier is a process of removing certaing data from an excel sheet.
Please, see the image, I think it's easier to understand.
I'd like to ask for an input of a market in column P. Let's say the user enters "Portugal". Then it would look for the rows that have that value in column P and delete the ones that doesn't contain information for Portugal (e.g. it would delete rows from 6 to 9 and 21 to 25, but rows 2-5 and 10-20 should not be deleted).
Any good ideas? I think it should be simple somehow but I can't think of any solution.
Thanks

Let me teach you some Excel magic:
Select the entire column "P".
Press Ctrl+G , choose "Special" and then "Blanks".
Click in the address bar and type =P2.
Press Ctrl+ENTER (don't forget the Ctrl button!)
This should fill in the "P" column as you desire and from then on, you can use the basic autofilter.

Related

Multi-level Numbering in Excel [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 5 months ago.
Improve this question
I have the following excel file
The user will enter the number of the levels (3 levels in the example) then using sequence function it will be showed in the level columns colored light blue automatically. Then, the user should enter the sub-clause next to each level. My desired outcome is I would like the Level & Sub-Clause 1 column to be filled with the following list based on the user entry as mentioned before:
1
1.1
2
2.1
2.2
2.3
3
3.1
3.2
is it possible?
With TOCOL,MAKEARRAY inside a LET with FILTER to remove the blanks:
=LET(
r,B1,
l,B4#,
sc,C4:INDEX(C:C,4+r-1),
cl,TOCOL(MAKEARRAY(r,MAX(sc+1),LAMBDA(a,b,IF(b=1,INDEX(l,a),IF(b-1>INDEX(sc,a),"",INDEX(l,a)&"."&b-1)))),3),
FILTER(cl,cl<>""))
=TEXTSPLIT(TEXTJOIN("-",,BYROW(B6:INDEX(C:C,MAX(ROW(B6#))),LAMBDA(br,TEXTJOIN("-",,INDEX(br,,1),INDEX(br,,1)&"."&SEQUENCE(INDEX(br,,2)))))),,"-")
Edit: forgot about the single level at first. Updated the formula and screenshot to include it.

Excel Dynamic Array Dynamically placed under another [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 months ago.
Improve this question
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
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)<>"")))

Is it possible to have a "dynamic array" inside MATCH function? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
I have a large amount of data that was converted to excel recently.
There are just two columns and more than 100000 lines. There is an Image as an example attached here.
The systems are always in the second columns as well as the data, but the loads and the rest of the information are in the first column, as you can see in the example, the "Max load" always repeat, but in the system 001 there is a difference of two lines between it and the system name, but in the second system the difference is three lines. I want to make a table for Max load with all the systems, those are the things I tried:
I used MATCH to find the line where the System name appears, knowing that the difference would be either 2 or 3 lines, I made a table with 2 and 3 in the header and I added it to the line I found and MATCH, it kind of work, but I wanted something better than this improvisation.
I also tried using (where X2= the line where the system name appears)
=MATCH(AA1;OFFSET(A1:X2:0:100:1);0)
Because I thought that OFFSET would return a range to MATCH, but it didn't work.
I want to know if there is a way to find the text "Max load" after the line I found using the Systems' names in MATCH. Basically, I want to know if there is a way of using kind of a "dynamic array" inside MATCH, so I would use it to find "Max load" right after the system that I am looking for.
I don't if this works, but if there is any other way of doing it, I am glad to know about it.
Thanks very much,
Matheus
You can use multiple match with index. Use below formula. It will not care how many rows are different from system to data.
=INDEX(D:D,MATCH(H4,D:D,0)+MATCH("Max Load",INDIRECT("C" & MATCH(H4,D:D,0) & ":C200000"),0)-1)
I think you are overthinking this way too much. If you just have either two or three rows, if offsetting the answer by 1 gives you 0 then use a simple if statement to offset it by 3.
=IF(INDEX(E:E,MATCH(H3,E:E,0)+2)>0,INDEX(E:E,MATCH(H3,E:E,0)+2),INDEX(E:E,MATCH(H3,E:E,0)+3))
Another option
In I4, formula copied right to J4 and all copied down :
=INDEX($D:$D,AGGREGATE(15,6,ROW($C$6:$C$1000)/($C$6:$C$1000=I$3),ROW($A1)))
Another solution would be
=INDEX(INDEX($D:$D,MATCH($F4,$D:$D,0)):$D$200000,MATCH(G$3,INDEX($C:$C,MATCH($F4,$D:$D,0)):$C$200000,0))

Using Excel to verify entries [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I am looking for a way to automate checking a demographic sheet filled in by a trainee against an answer key.
Our sheet currently has data validation built in to return TRUE or FALSE on whether the answer matches the answer key, but I'm looking for a way to then display the exact text string, so as to provide feedback on the exact error.
For example the way it currently functions is:
Sheet1!A1=Cat
Sheet2!A1=Dog
Sheet3!A1=FALSE
What I'm looking for, is a to utilize VBA to generate a comment balloon on Sheet3!A1 and see the exact error for easier feedback.
I'm new to working with advanced functions in Excel, so if anyone has a pointer in the right direction, I would greatly appreciate it!!
I Suppose your want to check Sheet1 = Sheet2 in sheet3, and show the error if does not match.
To make it simple, just use formula in sheet 3,
=IF(Sheet1!A1=Sheet2!A1,"",Sheet1!A1 & "|" &Sheet2!A1)
if they match, nothing will be show, if they don't match, it will show Sheet1figure|Sheet2figure
this is easier than showing True/False

Suggestions for building and managing complex functions in Excel [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
Far too often, I've got a formula that wraps functions inside of functions inside of functions, and when some new condition requires that I wrap another function around it, I often find myself completely losing track of which parentheses go where, which function applies to which set of parameters and usually find myself debugging a statement for a half hour after my modification produces unexpected results.
What I've BEEN doing is to cut the function into its individual parts in a column...each row representing a single function, and when I'm satisfied that end result is what it needs to be, I copy each piece back into it's respective spot in the preceding cell until I have a completed, and hopefully working, function.
CONSIDER:
=IF((ISERROR((VLOOKUP(D2,$A$2:$A9,1,0))),(IF((D2=(VLOOKUP(D2,$A$2:$A$9,1,0))),0,D2)),E2)
0 =IF((ISERROR((VLOOKUP(D2,$A$2:$A9,1,0))),L17,E2)
TRUE =ISERROR((VLOOKUP(D2,$A$2:$A9,1,0))
0 =IF((D2=L18),0,D2)
the =VLOOKUP(D2,$A$2:$A$9,1,0)
It'd be great to be able to document inline or have something similar to a VBA popup ion which to edit formulae, but since that doesn't exist, I'd be interested to know what other techniques for effectively building complex functions you've found helpful. Thoughts?
Normally, I split formulas over multiple columns - each column then contains a part of the formula. I never stuck them into a single cell - while "cleaner" they are impossible to debug.
If the columns are to much, I build a "admin" sheet, which can be hidden.
I dislike the excel formula editor in general - while I really like the power of the formulas, the editor is a pain to use.

Resources