Индекс / комбинация совпадений
Пожалуйста, попробуйте эту формулу:
{= ИНДЕКС ($ B $ 2: $ B $ 5, MATCH (1, (К2 = $ C $ 2: $ C $ 5) + (К2 = $ D $ 2: $ D $ 5) + (К2 = $ E $ 2: $ E $ 5) + (К2 = $ F $ 2: $ F $ 5) + (К2 = $ G $ 2: $ G $ 5), 0))}
Инструкция: Вставьте формулу {без фигурных скобок} в строку формулы и нажмите CTRL + SHIFT + ENTER , пока ячейка еще активна. Это создаст формула массива . Отсюда и фигурные скобки. Обратите внимание, что ввод фигурных скобок вручную не будет работать.
Описание:
- Функция INDEX возвращает значение или ссылку на значение из таблицы или диапазона. 1
- Функция MATCH ищет указанный элемент в диапазоне ячеек, а затем возвращает относительную позицию этого элемента в диапазоне. 2
Синтаксис:
Функция INDEX имеет две формы - массив и справочную форму. В этом случае мы будем использовать справочную форму.
INDEX (ссылка, row_num, [column_num], [area_num]) 1
МАТЧ (lookup_value, lookup_array, [match_type]) 2
Пояснение:
Для упрощения мы будем использовать эту форму:
INDEX (ссылка, MATCH (lookup_value, lookup_array, [match_type]))
Функция INDEX
возвращает значение из справочного столбца My code
(B1: B5) на основе аргумента row_num
, который служит индексом для указания на правую ячейку, и мы собираемся сделать это, заменив row_num
функцией MATCH
.
Функция
MATCH
, с другой стороны, возвращает относительное положение значения в столбце competitor
n
, которое соответствует значению в отдельных ячейках столбца competitor code
.
Чтобы заставить его работать с несколькими диапазонами поиска, мы собираемся создать массивы логических значений (TRUE / FALSE, или логические значения), сравнивая значения из отдельных ячеек в столбце competitor code
со значениями в отдельных competitor
n
столбцы. Теперь мы преобразуем эти логические значения в числовые значения, выполняя математическую операцию, которая не изменяет ее подразумеваемое значение (т. Е. TRUE = 1, FALSE = 0). Мы собираемся добавить эти значения напрямую, чтобы упростить процесс. Полученный массив имеет четыре индекса с двумя возможными значениями: 1 или 0. Поскольку каждый элемент в MATCH
lookup_array
уникален, то может быть только один TRUE
или 1
. Остальные FALSE
или 0
. Итак, с этим знанием мы собираемся использовать его как наш lookup_value
.
Давайте разберем формулу:
= ИНДЕКС (B2: B5, MATCH (1, (К2 = С2: С5) + (К2 = D2: D5) + (К2 = Е2: Е5) + (К2 = F2: F5) + (К2 = G2 : G5), 0))
My code 2
=
INDEX({"My code 1";"My code 2";"My code 3";"My code 4"},MATCH)
My code 2
=
INDEX({"My code 1";"My code 2";"My code 3";"My code 4"},(2))
2
=
MATCH(1,(K2=C2:C5)+(K2=D2:D5)+(K2=E2:E5)+(K2=F2:F5)+(K2=G2:G5),0)
2 =MATCH(1,
{FALSE;FALSE;FALSE;FALSE}+
{FALSE;FALSE;FALSE;FALSE}+
{FALSE;FALSE;FALSE;FALSE}+
{FALSE;FALSE;FALSE;FALSE}+
{FALSE;TRUE;FALSE;FALSE},0))
OR
=MATCH(1,
{0;0;0;0}+
{0;0;0;0}+
{0;0;0;0}+
{0;0;0;0}+
{0;1;0;0},0))
=========
{0;1;0;0},0))
2
=
MATCH(1,{0;1;0;0},0))
Надеюсь, этот ответ полезен.
Ссылки и ссылки:
- функция INDEX
- Функция MATCH
- Создать формулу массива