Google Sheets – Confused by ArrayFormula(IF+FILTER+IF) Function

google sheetsgoogle-apps

I'm trying to check how much of the my data are collected during worktime.
(between 10am~5pm). So I made a IF function for this, which I had to drag down every single time when new rows are added.
My original function was like this:

=IF(AND(B4:B>TIMEVALUE("10:00:00"),B4:B<TIMEVALUE("17:00:00")),"Yes","Not"))

And I get to know this awesome arrayformula function that automatically fills up to the newly added rows, and applied it here:

=ArrayFormula(IF(filter(A4:A,A4:A<>""),IF(AND(B4:B>TIMEVALUE("10:00:00"),B4:B<TIMEVALUE("17:00:00")),"Yes","Not"),""))

Sorry about my messy, 'Inception-like' IF function, but this is pretty much all i can think of.

Also, I added FILTER function so that arrayformula stops before the blank rows.

Apparently it does shows some values, but it doesn't show any correct values on my sheet…

Conclusion

  • Can I please get some help with this ARRAYFORMULA(IF+FILTER+IF) Function?

  • Also, is there any way that I can show "weekend" on the data that are collected during the weekend?

Below is sample Google Spreadsheet that shows what exactly is my problem.

https://docs.google.com/a/meshkorea.net/spreadsheets/d/14X9zYMuU_0tJE43W8lHFO3F_yjA3qnVq1LhGLex1jqo/edit?usp=sharing

Best Answer

Try

  =ARRAYFORMULA(IF(A4:A="","",IF(B4:B>TIMEVALUE("10:00:00")*(B4:B<TIMEVALUE("17:00:00")),"Yes","Not")))

There's no room for FILTER here. It has other uses.