Excel Data Validation - Add only Dates with 1 - excel

I have in Row 4 across my columns a flag which is either 1 or 0.
Row 7 contains my dates across columns.
I am trying to do a dropdown validation for only the dates which have 1 as the flag in their column.
=OFFSET(LEDGER!$M$7,0,COUNTIF(LEDGER!$M$4:$CV$4,"=1"),0)
this doesn't seem to work. Is what I am looking do-able?
| 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | | |
|-----------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|---|---|
| 31-Dec-10 | 31-Dec-11 | 31-Dec-12 | 31-Dec-13 | 31-Dec-14 | 31-Dec-15 | 31-Dec-16 | 31-Dec-17 | | |

If your dates starts from D7 and if the flags starts from D4 then try this formula.
=OFFSET($D$7,0,0,,COUNTIF($D$4:$K$4,"<>0"))

Related

Get the first value that is not 0 in a column

| A | B |
---|--------|--------|---------
1 | 0 | 500 |
2 | 0 | |
3 | 0 | |
4 | 500 | |
5 | 400 | |
6 | 0 | |
7 | 700 | |
8 | 300 | |
9 | | |
In Cell B1 I want to display the first value that is <> 0 in the Column A.
(in this example it would be 500)
I tried to go with something like this but could not make it work:
B1 =LOOKUP(2,1/(A1:A8<>0),A1:A8)
How do I need to modify the formula to get the needed result?
Can try FILTER().
=#FILTER(A:A,A:A>0)
Index and Match will find the next non 0 in a column
=INDEX(A:A,MATCH(TRUE,INDEX(A:A<>0,),0))

Count adyacent non-blank cells in Excel/Google Sheets

I have an Excel/Google Sheets table in which some rows contain blank cells in between non-blank cells. I would like to count from left to right. I have used the formula COUNTA(A2:F2) but it cannot achieve what I want. This is a sample of the outcome I would like to get, with the Personalized count that I am seeking to achieve and the classic COUNTA:
I think that the task is slightly different from what you describe in the question, you want to count until blank and not between not blank cells.
So I made this working example
+---+------+------+------+------+------+------+-------+
| | A | B | C | D | E | F | G |
+---+------+------+------+------+------+------+-------+
| 1 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | Count |
| 2 | 1 | 1 | 1 | 1 | 1 | 1 | 6 |
| 3 | 1 | 1 | 1 | 1 | | | 4 |
| 4 | 1 | | 1 | 1 | 1 | 1 | 1 |
| 5 | 1 | 1 | 1 | | | 1 | 3 |
+---+------+------+------+------+------+------+-------+
where cell G2 contains the following:
=IFERROR(MATCH(1;--(A2:F2="");0)-1;COUNTA(A2:F2))
is it right for you?

Excel lookup upwards

I am trying to lookup data that is the first occurrence of an ID looking upwards in excel. I would like to stop looking upwards when the cell value is ID is 0.
I have used the following to find the first occurrence when looking upwards:
In Cell D8:
=LOOKUP(2,1/($A$2:A8=C8),$B$2:B8)
In Cell D9:
=LOOKUP(2,1/($A$2:A9=C9),$B$2:B9)
For the case of desired outcome = 13 this works, however when there are consecutive IDs I would like to return the top most non-zero data field. Example desired outcome = 15 with the current formula returns 0.
How can I continue looking upwards until the top most ID = 2 before ID =0?
+----+------+--------------+-----------------+
| ID | Data | Lookup Value | Desired Outcome |
+----+------+--------------+-----------------+
| 2 | 18 | 1 | No Formula |
+----+------+--------------+-----------------+
| 1 | 25 | 2 | No Formula |
+----+------+--------------+-----------------+
| 0 | 0 | 0 | 0 |
+----+------+--------------+-----------------+
| 1 | 13 | 0 | 0 |
+----+------+--------------+-----------------+
| 2 | 15 | 0 | 0 |
+----+------+--------------+-----------------+
| 2 | 0 | 0 | 0 |
+----+------+--------------+-----------------+
| 2 | 0 | 1 | 13 |
+----+------+--------------+-----------------+
| 1 | 0 | 2 | 15 |
+----+------+--------------+-----------------+
| 0 | 0 | 0 | 0 |
+----+------+--------------+-----------------+
| 0 | 0 | 0 | 0 |
+----+------+--------------+-----------------+
Put this in D4 and copy down:
=IFERROR(LOOKUP(2,1/(($A$2:A4=C4)*($B$2:B4<>0)),$B$2:B4),0)
Put this in D4 and copy down:
=IFNA(LOOKUP(9^9,1/B$2:B4^-1/($A$2:A4=C4)),)

excel formula series fill in custom order

i have two table of excel
1st/
1 | blawa1 |blawb1 |blawc1 |blawd1 |
2 | blawa2 |blawb2 |blawc2 |blawd2 |
3 | blawa3 |blawb3 |blawc3 |blawd3 |
...
2nd/ that should be linked to 1st table in the folowing form
1 | blawa1 |
2 | blawb1 |
3 | blawc1 |
4 | blawd1 |
5 | |
6 | blawa2 |
7 | blawb2 |
8 | blawc2 |
9 | blawd2 |
10 | |
11 | blawa3 |
12 | blawb3 |
13 | blawc3 |
14 | blawd3 |
15 | |
16 | blawa4 |
17 | blawb4 |
18 | blawc4 |
19 | blawd4 |
20 | |
...
when i write the formula in table 2 and drag it down, the formula did not fill in series that i want.
e.g: it jump from "blawa1" to "blawa6" , while it should be "blawa2"
With data in columns A through D, pick some cell, say F4, and enter:
=OFFSET($A$1,ROUNDUP(ROWS($1:1)/5,0)-1,MOD(ROWS($1:1)-1,5))
and copy down:
Using similar formulas, any two dimensional table can be mapped into a single column or a single row.
If you see zeros in the output single column rather than the spaces, fill column E with blanks.
You can use the below formula
=IF(INDIRECT(CHAR(64+MOD(ROW()+4,5)+1) & (INT((ROW()-1)/5)+1))=0,"",INDIRECT(CHAR(64+MOD(ROW()+4,5)+1) & (INT((ROW()-1)/5)+1)))
copy the this cell to required number of times.

Getting Summation from a Table, with matching values from another Table in Excel

I have 2 tables created in Excel, which are identical in structure and the column and row names.
The only difference is that the first table has data (for the effort in work days) in it while the second is a reference table stating which milestone each cell belongs to. A sample of these tables is:
TBL1:
| | App1 | App2 | App3 |
| T1 | 32 | 12 | 48 |
| T2 | 40 | 16 | 30 |
| T3 | 56 | 18 | 36 |
TBL2:
| | App1 | App2 | App3 |
| T1 | 1 | 2 | 3 |
| T2 | 2 | 1 | 2 |
| T3 | 1 | 1 | 1 |
I want to collate these values so that I get SUM of 1, 2 and 3
| | Days Summation |
| 1 | =32+56+16+18+36 |
| 2 | =40+12+30 |
| 3 | =48 |
So basically, want to find:
IF(COL_VAL_IN_TBL2=1) THEN SUM ALL VALUES IN TBL1 CORRESPONDING TO THE ROW-COL IN RESPECTIVE
Is it possible to get a formula which I can use to do this without using something like a Pivot Table?
You can use sumif() to do this:
Here it's just looking at table2 values and comparing them to your 1, 2, or 3 and then summing the corresponding cells from your table1
SUMIF will do the trick if I understand correctly:
If you put 1 in A1, then 2 in A2, etc. Then enter in B1=SUMIF(TBL2Range,A1,TBL1Range) and copy down. Where TBL2Range is the address of your table.

Resources