2013-03-09 1 views
0

Я хочу выполнить поиск по целому столбцу для несоответствий (ошибки типа I) по сравнению с доступными типами, которые я определил. И в случае каких-либо несоответствий я хочу, чтобы ячейка этого несоответствия отображалась в ячейке ниже.EXCEL: столбец поиска для нескольких строк и указать ячейки (-и) несоответствий (0)

Так это то, что я (я заменил реальные типы с синонимами по соображениям секретности, очевидно, они не назвали тип # IRL):

Колонка E: E

  • типа1 (Е1)
  • type5 (Е2)
  • Type3 (Е3)
  • Type3 (Е4)
  • type7 (E5)
  • tipe2 (E6)
  • type9 (E7)
  • (E8)
  • Type3 (E9)

Колонна К2: К10

  • тип1 (K2)
  • TYPE2 (К3)
  • Type3 (К4)
  • TYPE4 (К5)
  • type5 (К6)
  • type6 (К7)
  • type7 (К8)
  • type8 (K9)
  • type9 (К10)

например курсовой я сделал типа ошибку «tipe2» в ячейке E6, а также добавил пустую строку в ячейке E8. Теперь мне нужна формула, которая отображает «Ошибка», когда что-то в столбце E: E не соответствует одному из типов в столбце K2: K10, а также печатает ни ничего, ни «ошибка не найдена». И в то же время я хочу в отдельной ячейке координаты (в данном случае E6) несоответствующей ячейки.

Я уже получил часть, чтобы получить несовпадение ячейки, где my_string следует заменить строку не соответствующей, что было найдено:

="E"&MATCH("my_string",E:E,FALSE)+IF(COUNTIF(E:E,"my_string")=1,0,COUNTIF(E:E,"my_string")-1) 

PS: Я не хочу сценария VBA! Мне просто нужны формулы внутри двух ячеек. Один, чтобы увидеть, что я сделал или нет, я сделал несоответствие, и если я сделал несоответствие, я хочу, чтобы координаты ячейки (или последняя ячейка, когда обнаружены множественные несоответствия).

ответ

1

Для достижения этой цели вы можете использовать так называемую формулу массива. В качестве иллюстрации я моделируется ситуация в этом изображении:

Excel picture of situation

Важный клетка H1, которая содержит индекс нарушивших ячеек в колонке E. Для простоты я ввел два именованных диапазона items, содержащий ячейки E1:E9 и lookup, содержащие ячейки K2:K10. Формула в H1 является

=MAX(IF(ISBLANK(items),0,IF(ISERROR(MATCH(items,lookup,0)),ROW(INDIRECT("1:"&ROWS(items))),0))) 

Это формула массива, а это означает, что вы должны подтвердить с Ctrl - Сдвиг - Введите. Если вы сделаете это, формула покажет фигурные скобки вокруг нее - вы не вводите их сами. Эта формула охватывает все ячейки в диапазоне от items, создает массив со значением 0 для всех ячеек, которые являются пустыми или имеют совпадение в диапазоне от lookup. Для остальных ячеек введенное значение равно номеру строки. Тогда над этим берется максимум.

В результате H1 будет содержать индекс последнего оскорбительного элемента. Если все элементы в порядке, то отображается значение 0.

Сотовый G1 покажет Error, если какой-либо предмет нарушения был найден, и OK в противном случае. Формула

=IF(H1=0,"OK","Error") 

Наконец, I1 отображает фактический элемент обижая через

=IF(H1>0,INDEX(items,H1),"") 

Если вы не хотите использовать именованные диапазоны, а затем заменить items с $E$1:$E$9 и lookup с $K$2:$K$10.

Если виновная ячейка пустая ячейка, то I1 будет содержать значение 0.

Я думаю, что значение H1 полезно для анализа, но если вы не хотите, вы можете скрыть его.Или вы можете сбросить эту формулу в те, что использовались в G1 и I1, но формулы становятся довольно сложными.

рабочая книга, содержащая этот ответ загружается here

Как примечание на стороне: ты в курсе, что вы можете использовать функцию проверки данных в Excel с выпадающим списком, чтобы избежать таких опечаток вы смотрите на , Это может быть полезно для вас. Пример приведен в статье Drop-Down Using Data Validation in Microsoft Excel

+0

Это уже выглядит великолепно! Но возможно ли исключить пустые ячейки из сообщения об ошибке с помощью формулы MATCH, поэтому она не даст ошибку # N/A, когда ячейка пуста, но дает # N/A, когда ошибка типа сделал. Я знаю, что есть ISEMPTY-формула, но я точно не знаю, как ее поместить в вашей формуле из ячейки H1. –

+0

Скорректированная формула в 'H1' теперь позволяет пустым ячейкам, они не будут вызывать« Ошибка ». Дается некоторое дополнительное объяснение того, как работает эта формула. Я немного улучшил формулу в 'I1', а также остался пустой в случае отсутствия ошибки. Наконец, я добавил замечание о проверке данных. Надеюсь это поможет. –

+0

Файл с загруженным примером также отражает последний ответ. –

0

Самый простой способ сделать это; использовать фильтр "Не содержит"

решение

Excel 2010, похожий на 2003

  • Выберите весь столбец
  • Select Data
  • Выбор фильтра
  • опцию Выбрать фильтр (треугольник сверху столбца)
  • Выбор текстовых фильтров
  • Выбрать Не содержит
  • Введите тип
  • При необходимости измените и повторите попытку.
+0

Спасибо, это уже огромный шаг в правильном направлении, и я действительно могу проверить весь столбец на ошибки типа, которые я сделал. Хотя мне все равно понравится первая Формула, поэтому я знаю, когда я сделал несоответствие и вам нужно проверить фильтр. Поскольку каждый день я добавляю довольно много в таблицу, это облегчит мне, а затем просто проверяйте фильтр каждый день. –