Поиск с использованием нескольких столбцов - PullRequest
0 голосов
/ 08 июня 2019

У меня есть лист, заполненный данными ниже (и на изображении):

enter image description here

Теперь есть другой лист, на котором пользователь будет толькопри вводе значений столбца «Пол» и «Возраст» и формулы Excel следует выбрать связанный фактор.Пожалуйста, помогите мне с одной такой формулой.

Например, если пользователь выставляет Male и 23, формула должна вернуть 3. скажем, Male был введен в ячейку D46 и 23 был введен в E46 листа с именем "Sheet4" иприведенная выше таблица находится в «Лист1»

Пожалуйста, сообщите.

Ответы [ 2 ]

0 голосов
/ 09 июня 2019

Для подобных ситуаций я выучил хороший прием, как заполнять пустые ячейки:

  1. Выберите все ячейки в столбце со значениями «пол».
  2. Goto Special, Бланки.(Ваша активная ячейка должна быть A3)
  3. В строке формул введите =A2.(Я полагаю, что A2 содержит слово «мужчина»)
  4. Нажмите Ctrl + ENTER (не забудьте клавишу управления для заполнения всех выделенных ячеек)

В результате, A3 будет скопировано с A2 и будет содержать слово "Male", A4 будет скопировано с A3 и теперь будет также содержать слово "Male", ...
Далее: это останавливаетсяпри первом появлении слова «женщина» (эта ячейка не выбрана), а для более поздних ячеек копирование происходит так же, как и раньше.

Отсюда должно быть гораздо проще достичьтвоя цель.

0 голосов
/ 09 июня 2019

Правильно, теперь я могу представить, что вы имели в виду в других ваших комментариях к предыдущему вопросу, это довольно просто переделать нашу другую формулу.

enter image description here

Формула в F3:

=INDEX(C1:C13,MATCH(1,(ROW(C1:C13)>=MATCH(F1,A1:A13,0))*(B1:B13=F2),0))

Введено через Ctrl Shift Ввести

Обратите внимание, что эти формулы возвращают неверный результат, если, скажем, вы продлили до возраста 29 лет, и вы будете искать мужчину, он все равно будет возвращать значение для женщины. Тем не менее, он не потерпит неудачу, когда ваши критерии поиска будут всегда правильными.

Вы могли бы предотвратить это в этом случае (потому что у вас действительно есть только один критерий и фиксированный диапазон с этой формулой в F3:

=IFERROR(IF(F1="Male",INDEX(C2:C9,MATCH(F2,B2:B9,0)),INDEX(C10:C13,MATCH(F2,B10:B13,0))),"No result")

Просто введите нормально. Он проверяет, какой тип пола выбран, и соответственно выбирает индекс поиска.

Другой вариант - использовать SUMPRODUCT() примерно так:

=IF(F1="Male",SUMPRODUCT((B2:B9=F2)*(C2:C9)),SUMPRODUCT((B10:B13=F2)*(C10:C13)))

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

EDIT

Пытался, согласно вашему комментарию, разбить его для вас, чтобы вы поняли, что происходит:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...