Excel Сумма, если, диапазон критериев1 в одной ячейке

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

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

Спасибо за любую помощь заранее!


person Ranjar    schedule 27.01.2021    source источник
comment
лучший вариант — добавить вспомогательный столбец с простой формулой для создания нормализованного набора данных. Затем используйте этот вспомогательный столбец в качестве критерия.   -  person Scott Craner    schedule 28.01.2021
comment
@ScottCraner не будет работать массив sumif или что-то еще? как =СУММЕСЛИ(СУММЕСЛИ(E3:E10,A2)(G:G,B4,F:F) ?   -  person Ranjar    schedule 28.01.2021
comment
Это довольно сложная формула, позволяющая делать то, что вы хотите. См., например: stackoverflow.com/questions/ 39794205/ Это слишком сложно, когда простая формула в H2, =IF(E2<>"",E2,H1) затем копирует набор данных. Затем вы используете H в своей формуле СУММЕСЛИМН вместо E.   -  person Scott Craner    schedule 28.01.2021
comment
@ScottCraner хорошо, круто, спасибо за ссылку на пример! и понял, вот и маленькая форумла! спасибо за помощь, Скотт, я повозлюсь и посмотрю, с чем я могу вернуться :)   -  person Ranjar    schedule 28.01.2021


Ответы (1)


Прежде всего, я бы сказал, что вам действительно следует рассмотреть возможность использования для этого других данных модели, как это было предложено @ScottCraner.

Во-вторых, это решение может работать, но если у вас много наборов (когда я имею в виду наборы, я имею в виду Мистер Человек, Мисс Человек, Малыш Человек, Дедушка Человек и многие другие), это может немного раздражать.

Теперь первое, что вам нужно сделать, это создать именованные диапазоны каждого набора данных. Таким образом, значения, связанные с Mr Human, будут называться MR_HUMAN, а значения Miss Human будут называться MISS_HUMAN. Это легко сделать.

Запомнить:

  1. В именах не может быть пробелов, пробелов или каких-либо странных символов. Просто используйте подчеркивание.
  2. Каждое имя должно быть уникальным
  3. Каждое имя должно содержать 2 столбца: первый — «Код», второй — «Стоимость».

Пример видео (введите название и нажмите ENTER

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

Теперь формула для столбца C:

=IFERROR(VLOOKUP(B3;CHOOSE(MATCH($A$3;{"Mr Human";"Miss Human"};0);MR_HUMAN;MISS_HUMAN);2;FALSE);"Not found")

Ниже вы можете видеть, что если я изменю ячейку A3 на Miss Human, значения изменятся правильно:

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

Вот как работает формула:

  1. MATCH($A$3;{"Mr Human";"Miss Human"};0) Это выполнит поиск текста в A3 в массиве наборов и вернет число в соответствии с позицией. В данном случае Mr Human=1 и Miss Human=2
  2. CHOOSE(*number from step 1*;MR_HUMAN;MISS_HUMAN) Мы используем число, полученное на шаге 1, для объединения с функцией ВЫБОР, которая позволяет выбрать результат на основе списка. Таким образом, мы можем использовать эту функцию, чтобы связать число 1 с именем MR_HUMAN и число 2 с MISS_HUMAN, и она вернет наш целевой диапазон с правильными значениями.
  3. VLOOKUP(B3;*name from step 2*;2;FALSE) Мы объединяем диапазон из предыдущего шага и используем его как матрицу обычной ВПР, которая будет искать КОД в первом столбце и возвращать значение из второго (СТОИМОСТЬ)
  4. Мы помещаем все вышеперечисленное в ловушку ЕСЛИОШИБКА, просто чтобы функция ВПР не возвращала ошибку (ошибка ВПР означает, что КОД не найден в этом диапазоне).

Большая проблема здесь заключается в том, что если у вас есть много наборов данных для большего количества значений, помимо Mr Human и Miss Human, вам нужно настроить части MATCH и CHOOSE, и вы можете быть раздражающим.

В любом случае, надеюсь, что это поможет немного.

Функция ВПР

Функция ЕСЛИОШИБКА

функция MATCH

ВЫБЕРИТЕ функцию

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

person Foxfire And Burns And Burns    schedule 27.01.2021
comment
Это потрясающе, большое спасибо за все подробности, включенные в пост, я очень ценю помощь! У меня есть последний вопрос, как это будет работать, если между моим кодом и столбцом стоимости есть столбцы? Кажется, я не могу заставить его работать с этим, но я могу просто собрать эти столбцы вместе, но было бы интересно, возможно ли заставить это работать, еще раз большое спасибо - person Ranjar; 28.01.2021
comment
Первый столбец должен быть всегда кодом. Столбец стоимости может находиться в любом месте внутри каждого именованного диапазона. Вам просто нужно изменить 2 внутри VLOOKUP на новую позицию вашего столбца (3,4,5... что угодно). И ВСЕ именованные диапазоны должны иметь одинаковое количество столбцов. - person Foxfire And Burns And Burns; 28.01.2021
comment
оооооооооооооооооооооооооооооооооооооооооооооооооооооо из, еще раз спасибо! :D - person Ranjar; 28.01.2021