Есть ли способ использовать isnumber и search для извлечения из нескольких ячеек и поиска в нескольких ячейках для возврата к нескольким ячейкам?

#excel #search #formula #isnumeric

#excel #Поиск #формула #isnumeric

Вопрос:

Я собрал следующую формулу, которая работает :

 =IF(ISNUMBER(SEARCH(F7, $B$11:$B$53)), $C$11:$C$53,  
      IF(ISNUMBER(SEARCH(F8, $B$11:$B$53)), $C$11:$C$53, 
           IF(ISNUMBER(SEARCH(F9, $B$11:$B$53)), $C$11:$C$53, 
                IF(ISNUMBER(SEARCH(F10, $B$11:$B$53)), $C$11:$C$53, ""))))
  

(каждая «новая строка» в моем сообщении — это пробел)

F7, F8, F9 и F10 — это условия поиска, которые я хочу найти в столбце B11: B53. Условия поиска в моем массиве «F» частично совпадают с текстовыми строками в B11: B53. Затем я извлекаю соответствующие данные из C11: C53 и помещаю их в соответствующие строки в столбце F11: F53.

Есть ли более простой способ написать эту формулу, которая позволит масштабировать?

Я хотел бы иметь возможность легко добавлять поисковый запрос в F1: F6 и легко расширять свой поисковый массив, не добавляя

 IF(ISNUMBER(SEARCH(F6, $B$11:$B$53)), $C$11:$C$53,
  

в мою формулу ДЛЯ КАЖДОГО ДОБАВЛЕННОГО ПОИСКОВОГО ЗАПРОСА. Если я захочу добавить 10 новых критериев, формула станет громоздкой.

Я также масштабирую эту формулу по нескольким столбцам, чтобы я мог искать столбец «B» и извлекать данные из столбца «C» и помещать их в тот же столбец, что и мой поисковый массив, с разными списками поисковых запросов в каждом столбце.

В настоящее время, если одна ячейка поискового запроса (т.Е. F8) пуста, весь мой столбец заполняется данными из C, а не только данными, которые должны быть.

Моя цель — разбить весь мой столбец «C» на несколько столбцов на основе того, что находится в столбце B, и что находится в «Списке поиска» (в этом примере F7: F10)

Любая помощь будет оценена

Ответ №1:

Это улучшение. Попробуйте использовать такую формулу в ячейке C11 , если у вас есть 4 критерия поиска, введенные в F7:F10 :

 =IF(SUM(COUNTIF(B11,"*"amp;F$7:F$10amp;"*"))=(ROWS(F$7:F$10)),B11,"")
  

Он подсчитывает строки ваших критериев ( F7:F10 в данном случае, 4 критерия) и возвращает значение, B11 если сумма результатов соответствует количеству строк критериев. COUNTIF() может принимать диапазон и разрешает подстановочные знаки.

Чтобы игнорировать критерий, просто поместите ? * в него или.