Выберите все строки, где все ячейки равны друг другу

У меня есть большая таблица, которая показывает только один тип информации: независимо от того, был ли вид растения присутствующим на определенном участке исследования. У меня есть более 500 видов, перечисленных в первом столбце, и 30 сайтов в виде имен столбцов. Таблица заполнена простым «Y» или «N», чтобы показать присутствие. Пример:

Scientific Name Old Wives Beach Dadi Orote N Airstrip Abelmoschus moschatus NNN Abrus precatorius YNY Abutilon indicum NNN 

Тем не менее, список видов содержит некоторые виды, которые не встречаются ни на одном сайте, при этом строка, заполненная «N», как 1-я и 3-я строки в приведенном выше примере. Мне нужно удалить эти строки, чтобы сделать таблицу более управляемой.

Есть ли способ достичь этого без длинного утверждения IF AND?

Вдохновленный комментариями pnuts в новой колонке, используйте COUNTIF() . Например, =COUNTIF(B2:AE2,"Y") , если заголовки строк / столбцов находятся в строке 1 и столбце A, а данные находятся в диапазоне B2: AE501 +.

Если вы затем выберете весь диапазон, включая заголовки и новый столбец формулы, и добавьте фильтры, вы можете выбрать только те строки, где число Y равно 0. Когда вы показываете только 0, вы можете выбрать все строки и удалите их (используя «Правка», «Удалить») без использования ненулевых строк.

На этом этапе, если вам больше не нужен столбец count, вы можете отключить фильтр и удалить столбец, но я не удивлюсь, если вы найдете, что подсчет пригодится по какой-то другой причине.

В качестве альтернативы вы можете просто использовать фильтр, чтобы СКРЫТЬ 0 строк, а не удалять их, и чтобы не удалять данные вообще, но это уже не на вашем пути.

Код ниже – это один из способов сделать это, считая, что в данных нет пробелов. Анимированный gif шаг за шагом, чтобы продемонстрировать, как это работает. Вы должны удалить инструкции .select, как только вы это поймете.

введите описание изображения здесь

 Sub deleteIfAllN() Dim plantR As Range, cell As Range, allN As Boolean Set plantR = Range("A2") While plantR <> "" plantR.Select Set r = plantR.Offset(0, 1) allN = True Do r.Select If r <> "N" Then allN = False Exit Do End If Set r = r.Offset(0, 1) Loop Until r = "" Set plantR = plantR.Offset(1, 0) Rows(plantR.row - 1).Select If allN Then Rows(plantR.row - 1).Delete Wend End Sub 

Вы можете использовать Advanced Filter

Настройте свои данные и область критериев ниже.

Для примера, который вы опубликовали, формула будет:

 =COUNTIF($B8:$D8,"N")<>3 

Для 30 столбцов просто измените диапазон и количество.

До

введите описание изображения здесь

После

введите описание изображения здесь

Я выбрал фильтр на месте

Обратите внимание, что есть также опция Copy to another location которое помещает результаты фильтра в другое место.

  • Excel VBA | Союзный метод на другом листе
  • Вставьте новую строку, используя `With` вместо` .Select`
  • Выберите один элемент slicer из таблицы VBA
  • Ошибка при обращении к предыдущему dimmed activecell (Ошибка времени выполнения «1004»)
  • EXCEL VBA WorksheetFunction.CountIf () в SELECT CASE
  • Excel 2010 Unpivot Data или использовать MySQL для Unpivot
  • Ошибка выполнения ошибки VBA 13
  • Выберите Случай неверный вывод
  • VBA Копирование и вставка между листами без выбора
  • выберите * из листа, где столбец <> 0
  • C #: Excel: задайте выбранное задание для открытия следующей книги
  • Interesting Posts

    Ошибка чтения данных Maatweb / Excel (Laravel)

    Обновление различных листов Apache POI Workbook с использованием нескольких потоков

    Добавление формулы к непересекающимся ячейкам из нескольких столбцов в Excel VBA

    VBA: получение данных строки, когда ячейка является конкретным значением

    Как загрузить CSV в книге, заменяющей существующий лист?

    Что требуется серверной стороне для запуска Office Interops?

    Множество критериев excel counts

    Как добавить фильтр перед чтением файла Excel в vb.net

    Эквивалентная функция C # для функции Excels Norm.S.Inv

    Используя метод find для поиска следующей доступной пустой строки

    Excel 2007 – разговор с веб-службой

    Легкий способ открыть неизвестное количество файлов excel

    Передача данных таблицы HTML в MS Excel?

    Есть ли функция Excel для динамического подсчета и подсчета строк?

    Сумма ячеек в зависимости от других значений ячеек, относящихся к другим ячейкам

    Давайте будем гением компьютера.