интерпретация for = INDEX (Sheet2! $ B $ 2: $ B $ 1214, MATCH (1, (Sheet2! $ A $ 2: $ A $ 1214 = B2) * (Sheet2! $ F $ 2: $ F $ 1214 = O2), 0))

Привет, кто-нибудь может объяснить, что

=INDEX(Sheet2!$B$2:$B$1214,MATCH(1,(Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2),0)) 

Я попытался понять это, посмотрев функции Index with Match.

 Match(1,------- 

Почему этот первый параметр 1 для функции Match ()?

Похоже, ваша проблема связана с функцией MATCH, поэтому я просто объясню это. Давайте сначала предположим, что у нас есть некоторые данные в excel, как показано ниже.

$ A $ 1 = 2; $ A $ 2 = 7

$ B $ 1: $ B $ 5 = {1, 2, 3, 4, 5}

$ C $ 1: $ C $ 5 = {6, 7, 8, 9, 0}

Теперь мы попытаемся решить уравнение ниже:

$ B $ 1: $ B $ 5 = $ A $ 1

$ C $ 1: $ C $ 5 = $ A $ 2

То, что делает excel, это значение $ A $ 1 и сравнение его с $ B $ 1, $ B $ 2 и так далее. Результат вернется следующим образом:

"$ B $ 1: $ B $ 5 = $ A $ 1" = {FALSE, TRUE, FALSE, FALSE, FALSE}

"$ C $ 1: $ C $ 5 = $ A $ 2" = {FALSE, TRUE, FALSE, FALSE, FALSE}

Тогда мы это делаем.

($ B $ 1: $ B $ 5 = $ A $ 1) * ($ C $ 1: $ C $ 5 = $ A $ 2)

В каждом из результатов, которые мы получили выше, будут взяты 1 данные из одной и той же позиции, умножьте их и верните результат.

"{FALSE, TRUE, FALSE, FALSE, FALSE} * {FALSE, TRUE, FALSE, FALSE, FALSE}"

= {0, 1, 0, 0, 0}

Таким образом, функция MATCH будет иметь следующий вход.

MATCH (1, {0, 1, 0, 0, 0}, 0)

Это означает, что он попытается найти значение «1» в массиве и вернуть позицию значения FIRST, которое соответствует.

В нашем случае он вернется 2.

Затем этот «2» передается как row_num в функцию INDEX.

Вы можете объяснить все остальное самостоятельно.

Давайте рассмотрим формулу, начинающуюся с компонентов внутреннего MATCH . Для этого я предполагаю, что это формула массива .

В качестве формулы массива Sheet2!$A$2:$A$1214=B2 дает вектор TRUE и FALSE зависимости от того, являются ли значения в Sheet2!$A$2:$A$1214 равными B2 . Аналогично, Sheet2!$F$2:$F$1214=O2 дает вектор TRUE и FALSE зависимости от того, равны ли значения в Sheet2!$F$2:$F$1214 равным O2 .

Теперь, (Sheet2!$A$2:$A$1214=B2)*(Sheet2!$F$2:$F$1214=O2) умножает два вектора TRUE и FALSE по строкам. Поскольку TRUE*TRUE=1 , но FALSE*TRUE=TRUE*FALSE=FALSE*FALSE=0 , это дает вектор 1 и 0 зависящий от толкателя B2 равного Sheet2!$A$r и O2 равен Sheet2!$F$r для той же строки r .

Затем MATCH(1, ...) находит первую строку r на Sheet2 где оба B2 равны Sheet2!$A$r и O2 равны Sheet2!$F$r для той же строки r .

Наконец, INDEX дает вам значение в Sheet2!$B$2:$B$1214 для этой строки r .

  • консолидировать значения в уникальной колонке
  • В Excel мне нужно настроить формат ячейки для отображения времени как hh: mm, но он возвращается с 0:00
  • Как выполнить операции столбца с строкой в ​​excel
  • Двухсторонняя таблица Просмотр в Excel с использованием VLOOKUP и MATCH Возвращаемая ошибка
  • Как найти минимальное значение в диапазоне ячеек, превышающих 1 в excel?
  • Как получить и объединить значения из одного столбца на основе другого столбца в Excel
  • Как увеличить набор данных с шагом 1 в excel?
  • Несколько Заявление IF в Excel для проекта оценки футбола
  • Строка обрезки, начинающаяся с запятой - Excel
  • Рейтинг top N в excel
  • возвращать текстовое значение, когда условия выполняются в excel
  • Давайте будем гением компьютера.