формула для автозаполнения условия и пропуска пустых ячеек

У меня есть мастер-лист и лист данных (более 1, но одинакового формата)

Это пример данных с листа

Примечание. Число строк данных не всегда одинаковое в каждом листе данных (т. е. data1 100 строк, data2 400 строк и т. д., и мне нужно, чтобы формула работала непрерывно на всем листе (т. е. после завершения данных из data1 формула перейти к data2 и так далее)

Спасибо

1 ответ

У вас интересная проблема. На самом деле это две проблемы. Первый вариант — это сокращение двух столбцов, содержащих текст, до одного столбца, удаление или выделение определенного текста. Вторая проблема — фильтрация, то есть сокращение столбца данных для анализа нежелательных строк.

«Простые» формулы для 1-й части. Допустим, F1 — это заголовок, F2 — текст «Отбросить», затем F3:

      =IF(C3&E3="",IF(E4<>"",XLOOKUP("*",$C$1:C3,$C$1:C3,"",2,-1),"Discard"),IF(C3<>"","Discard",IF(F2="Discard","Discard",C3&E3)))

Семантически это означает следующее:

      IF both fields empty then 
    If the detail field below you is also empty then 
        Cell = "Discard"  %this is truely a blank spacer row
    else
        %this is the blank row indicating the items to keep will follow
        %use XLOOKUP to search upward for the project field above you
        Cell = XLOOKUP("*",$C$1:C3,$C$1:C3,"",2,-1)
    end
else
    %One or both fields contain text         
    If project field is empty then 
        %there is something in the details field
        %but we don't know if this is from the section to discard or keep
        %so we look at the results above us, if its "discard" we discard also
        If cell in F above is "Discard" then
            %we are in a discard section
            Cell = "Discard"
        else
            %we are in a keep section
            Cell = E3
        end
    else
        %so project field is not empty, we can discard project for now
        %this "discard" will trigger rows below to also discard
        Cell = "Discard"
    end
end

Теперь перейдем ко второй части: отфильтруйте все значения «Отбросить», используя обычный фильтр или функцию ФИЛЬТР Office 365:

      =FILTER($F:F17,F1:F17<>"Discard")
Другие вопросы по тегам