formula that returns column headings based on multiple criteria

Jamel

Board Regular
Joined
Mar 2, 2010
Messages
55
Below I'm showing a sample of the spreadsheet I'm working with. I'm looking for a formula that
answers the Answer 2 column. I've already successfully created a formula that answers Answer 1.
In the Answer 1 column I capturing the column heading where the first "A" absence appears.
The true column heading I've highlighted in blue. I included a heading over that row just in case
I need to reference that to compare to the days the student attends class.

Answer 2 is a lot more trickier because I have to honor the days of the week each student attends the class.
In Answer 2 I need to capture the column where the first blank appears after the first "A" absence
while honoring the days of the week the student attends the class. In my table below I've answered
all the Answer 2 to show what needs to be the result.

As always any help with this will be greatly appreciated

not sure why all the grid lines are showing.. there are showing before I hit the post button.



ABCDEFGHIJKLMNOPQRSTUV
1WHFMTWHFMTWHFMTWHF
2days of week3458910111215161718192223242526Answer 1Answer 2
3Student 1M WAAAAAA322
4Student 2T HAAAAA923
5Student 3HAA418
6Student 4M T W H FA1011
7Student 5WAAA324
8Student 6HAAA411
9Student 7M W FAAAAAA517
10Student 8TAA916
11Student 9MA815

<tbody>
</tbody>
Sheet1
 
Last edited:

Excel Facts

Excel motto
Not everything I do at work revolves around Excel. Only the fun parts.
Maybe...

Formula in V3 copied down
=INDEX(C$2:T$2,MATCH(1,INDEX((ISNUMBER(MATCH("*"&C$1:T$1&"*",B3,0)))*(C$2:T$2>U3)*(C3:T3=""),),0))

M.
 
Upvote 0
OMG!

It worked on the sample spreadsheet. Now I need to apply to my real one.
thanks a bunch!
 
Upvote 0
This also seems to do what you want.

Excel Workbook
BCDEFGHIJKLMNOPQRSTUV
1WHFMTWHFMTWHFMTWHF
2days of week3458910111215161718192223242526Answer 1Answer 2
3M WAAAAAA322
4T HAAAAA923
5HAA418
6M T W H FA1011
7WAAA324
8HAAA411
9M W FAAAAAA517
10TAA916
11MA815
Answer 2
 
Last edited:
Upvote 0
I'm gonna have to research these formulas. Seems like they can be helpful in a lot of work I do. I only use the basic Index/match formula normally. I noticed
in the first answer the isnumber function was included. Also I never seen a formula with the "1" before the Index in the formula. Very interesting. What does that do?

=INDEX(C$2:T$2,MATCH(1,INDEX((ISNUMBER(MATCH("*"&C$1:T$1&"*",B3,0)))*(C$2:T$2>U3)*(C3:T3=""),),0))

I also didn't know you can include wildcards in the formula when you are referencing text. That is really cool.

As for as the aggregate formula, that seems even simpler but I've never used it before. I'm clueless when I'm to use it, but I'm going
to google it to learn more.

Anyway thanks for all the help and I hope you don't mind me asking more about the above formula's so I can use them more on my own.

btw.. Meant to say the grid lines didn't show in my post, but the appeared before I post. I install that add on but I guess I'm
having a bit of trouble with it.
 
Last edited:
Upvote 0
About MATCH(1,Condition1*Condition2*Condition3,0)
1. This kind of construct is used in formulas to lookup depending on multiple conditions;

2. Each condition generates an array of logical,True/False, values;

3. In Excel the multiplication of logical values (True/False) performs as:
True*True results in 1
True*False results in 0
False*False results in 0;

4. The multiplication of all conditions generates an array of 1s and 0s - in this array the 1s correspond to those rows that meet all conditions (desired result).

5. The MATCH function with the last argument equal 0 (exact match) returns the relative position of the first match;

6. Therefore, for example, MATCH(1,{0;0;1;0,1;0},0) returns 3 since the first 1 corresponds to the third position in the array.

Hope i made myself clear.

M.
 
Last edited:
Upvote 0
Complementing my post above,
As in your specific case the desired result is first column that meet all conditions, on the sake of clarity, is important to adjust my comments
Number 4 should be
4. The multiplication of all conditions generates an array of 1s and 0s - in this array the 1s correspond to those columns that meet all conditions (desired result).

In number 6 the example should have showed a horizontal array (values separated by commas), that is:
6. Therefore, for example, MATCH(1,{0,0,1,0,1,0},0) returns 3 since the first 1 corresponds to the third position in the array.

M.
 
Upvote 0

Book1
ABCDEFGHIJKLMNOPQRSTUVWX
1monthAPRILAPRILAPRILAPRILAPRILAPRILAPRILAPRILAPRILMAYMAYMAYMAYMAYMAYMAYMAYMAYABS MONTHABS DAYRETN MONTHRETN DAY
21day of weekRFMTWRFMTWRFMTWRFMANSWERANSWERANSWERANSWER
32days of week18192223242526293012367891013
43M WAAAAAPRIL24MAY8
54T RAAAAAPRIL23MAY2
65RAAAPRIL25MAY9
76M T W R FAAAAAAAAPRIL25MAY2
87WAAAPRIL24MAY8
98RAAAAPRIL18MAY9
109M W FAAAAAAAAAPRIL22MAY10
1110TAAPRIL30MAY7
Sheet1
 
Upvote 0
Sorry but I got kick out of the forum before I could finish my post. I'm going to send another one shortly
 
Upvote 0

Forum statistics

Threads
1,214,808
Messages
6,121,684
Members
449,048
Latest member
81jamesacct

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top