Я предоставляю вам два возможных решения.
1) Первый использует функцию SUMPRODUCT. Возможно, вы раньше не видели такого рода обозначения.
Когда диапазоны умножаются друг на друга, например (B3:B8=G3)*(C3:C8=G4)
, они фактически превращаются в логические аргументы. Если вы выделите эту часть кода и нажмете F9, это будет выглядеть так: {0;0;0;0;1;0;0}
. Это массив, в котором встречаются TRUE для обоих критериев. Таким образом, наша ветвь - это «А», а наш перевозчик - «F». В остальных случаях либо один, либо оба являются ложными, что приводит к нулю.
Теперь, если вы умножите этот массив на диапазон с номерами счетов, очевидно, что единственным оставшимся числом будет число, умноженное на 1, и поэтому ответ однако имейте в виду, что при умножении, если счет не является числом, функция не сработает!
2) Вот почему у нас есть второй метод с использованием функций =INDEX()
и =MATCH()
.
Чтобы упростить это - функция INDEX
извлекает содержимое из массива в указанной позиции (строка и столбец), а функция MATCH
получает положение элемента в массиве.
Идея использования диапазонов в качестве нескольких критериев такая же, как в первом примере, , однако на этот раз , когда мы получаем наш массив нулей и единиц {0;0;0;0;1;0;0}
мы используем функцию сопоставления, чтобы определить, в каком месте наши критерии пересекаются (как показано на скриншоте, это 5-я позиция, поскольку она находится в 5-й строке всего столбца D, th Функция соответствия ищет в массиве {0;0;0;0;1;0;0}
значение 1
и возвращает его позицию в массиве), и поэтому это наша строка.
Зная позицию искомого содержимого, мы используем INDEX
функция для захвата содержимого ячейки в этой позиции, поэтому =INDEX(D2:D8,MATCH(1, INDEX((B2:B8=G3)*(C2:C8=G4),0),0))
на самом деле =INDEX(D2:D8, 5)
означает, что функция INDEX
захватывает содержимое 5-й строки из диапазона D2:D8
, который является ячейкой D6
.
Зеленые прямоугольники только для того, чтобы показать случай, когда оба наших критерия выполнены (крест).