#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()
может принимать диапазон и разрешает подстановочные знаки.
Чтобы игнорировать критерий, просто поместите ?
*
в него или.