Sep 21 2023 12:54 AM
Hi Experts,
I want to count the 'Shopping' for every row if any next column is having a NULL value. If there is no NULL value column then it should not be counted. Please take the 'result' column as desired output.
Thanks in advance! :)
Sep 21 2023 01:27 AM - edited Sep 21 2023 01:28 AM
=BYROW(
C2:G8,
LAMBDA(Φ,
IFERROR(N(MMULT(XMATCH({"Shopping","NULL"},Φ,,{1,-1}),{-1;1})>0),0)
)
)
Sep 21 2023 01:28 AM
Sep 21 2023 02:47 AM
@JosWoolley the logic should be like if there are two 'Shopping' in first row with NULL in any coming column then also it should be counted. Please take the example of first row:
Level1 | Level2 | Level3 | Level4 | Level5 | result |
Shopping | Resolve | NULL | Shopping | NULL | 2 |
Shopping | Ammendment | Resolve | NULL | NULL | 1 |
A | Shopping | Ammendment | NULL | Shopping | 1 |
B | NULL | Shopping | Ammendment | Resolve | 0 |
A | NULL | NULL | NULL | Shopping | 0 |
Sep 21 2023 02:49 AM
Sep 21 2023 03:09 AM
Sep 21 2023 03:48 AM
SolutionThis last change came as a bit of a surprise! Up to there my solutions were the same as @Hans Vogelaar and @JosWoolley. To count occurrences I changed the formula to
Worksheet formula
= BYROW(table, CountBeforeλ("Shopping", "NULL"))
CountBeforeλ
= LAMBDA(countString, untilString, LAMBDA(line,
LET(
end, XMATCH(untilString, line, , -1),
matches, TAKE(line, , end) = countString,
IFERROR(SUM(SIGN(matches)), 0)
)
))