Для этого нужно использовать макросы, формулы не могут удалять столбцы.
Я ненавижу писать макросы Excel, но псевдокод выглядит примерно так:
declare row_marker = 1
while (Workbook.Cells(1, row_marker) contains data)
if (Workbook.cells(1, rowmarker).OffsetRight(3).Value == 0)
remove_row(workbook.rows(row_marker)
else
row_marker++;
То, что это говорит, это начало в строке 1, если эта строка имеет 0 в двоичном столбце, удалите его, если нет, перейдите к следующей строке. Примечание: мы не переходим к следующей строке, если мы удаляем строку, потому что строка перемещается вверх вместе с нами, поскольку мы не ссылаемся на строку, а на смещение в книге.