проблема
Я вижу следующее несовместимое поведение в Excel 2016 при копировании / вырезании / удалении данных по отфильтрованным данным:
- Копирование ячеек. Данные копируются только из видимых ячеек, а не из отфильтрованных ячеек.
- Обрезка ячеек: данные "обрезаются" как из видимых, так и из отфильтрованных ячеек.
- Вставка ячеек: данные вставляются как в видимые, так и в отфильтрованные ячейки.
- Форматирование / Удаление / Перетаскивание / Другое: затрагиваются только видимые ячейки, но не отфильтрованные ячейки.
Я не вижу веских причин для такого противоречивого поведения - это ошибка? Или есть какая-то причина для этого?
И что еще более важно, есть ли способ заставить Excel игнорировать скрытые строки при вырезании и вставке данных, чтобы он был более совместим с остальными операциями?
демонстрация
Чтобы попробовать это, пожалуйста, создайте следующую таблицу в Excel:
Затем отфильтруйте строки с помощью Category = "Hide":
Вы должны увидеть что-то вроде:
Теперь сделайте следующее:
- Выберите видимые ячейки в столбце « Копировать из» (AAAA, BBBB, EEEE, FFFF) и скопируйте их (
CTRL-C
в Windows) - Перейти к первой пустой ячейке в разделе « Копировать и вставить» (
CTRL-V
в Windows) - Выберите видимые ячейки в столбце « Вырезать» (GGGG, HHHH, KKKK, LLLL) и обрежьте их (
CTRL-X
в Windows) - Перейти к первой пустой ячейке в разделе « Вырезать» и «Вставить» (
CTRL-V
в Windows) - Выберите видимые ячейки в столбце « Формат» (MMMM, NNNN, QQQQ, RRRR) и выделите их жирным шрифтом (
CTRL-B
в Windows) - Выберите видимые ячейки в столбце « Удалить» (SSSS, TTTT, WWWW, XXXX) и удалите их (
DEL
в Windows) - Выберите первую ячейку в столбце « Перетаскивание» (январь) и перетащите ее вниз до конца столбца (до CCCC).
Теперь вы должны увидеть:
Теперь удалите фильтр из столбца Категория , и вы должны увидеть:
Исходя из вышеизложенного, мы можем видеть несколько несоответствий в том, как обрабатываются отфильтрованные ячейки:
- Копировать: игнорирует отфильтрованные ячейки
- Cut: работает на отфильтрованных клетках
- Вставить: работает на отфильтрованных ячейках
- Удалить: игнорирует отфильтрованные ячейки
- Форматирование: игнорирует отфильтрованные ячейки
- Перетаскивание данных вниз: игнорирует отфильтрованные ячейки
бонус
Это поведение для отфильтрованных ячеек отличается от способа обработки скрытых ячеек (чтобы скрыть ячейку, щелкните правой кнопкой мыши столбец или заголовок строки и выберите « Hide
- это позволит скрыть всю строку или столбец). Скрытые строки включаются во все операции - то есть мы можем копировать, вырезать, вставлять, удалять, форматировать и т.д. Данные, если они скрыты. Кажется, что операции ведут себя непоследовательно только для "отфильтрованных" данных.
Кроме того, что интересно, когда данные скрыты и не отфильтрованы, операция перетаскивания также ведет себя по-разному - вместо повсеместного повторения "января" она ведет себя более разумно и показывает февраль, март и т.д.