Использование индекса соответствия, чтобы найти второй соответствующий столбец в регионе - PullRequest
0 голосов
/ 13 мая 2019

Я пытался использовать функцию Index / Match для поиска значений из определенного региона, потому что я застрял, так как мой индекс столбца может иметь два одинаковых значения, например, у вас есть регион, похожий на ниже

Например, я хочу найти значение для 24.01.2008 для теста 1, но я использую формулу, оно дает мне первое значение для теста 1, которое равно 0,31, но я хочу, чтобы было 0,83

enter image description here

=INDEX(G5:I11,MATCH(F5,F5:F11,0),MATCH("Test 1",G4:I4,0))

Я выполнил некоторый поиск, думаю, мне следует использовать Large, что означает, что нужно указать местоположение столбца для последнего значения совпадения, которое вы найдете в строке, а не в первом, но я не уверен, как реализовать функцию Large для моего формула

Что означает дать мне номер столбца для последнего совпадения, которое вы найдете во втором совпадении, вы знаете, когда вы ставите MATCH («Тест 1», G4: I4,0)), он возвращает первое сопоставленное значение, но я хочу 2-й или 3-й (что означает последний)

  Test 1   Many  Test 1 
1  0.31    0.21   0.83
2   1       2      3

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Возможное решение, основанное на вашем вопросе, хотя примеры данных немного сложны для понимания, может быть этой формулой в B11. ARRAY Формула: SHIFT + CTRL + ENTER

=INDEX($B$2:$D$7,
        MATCH($A11,$A$2:$A$7,0),
        SMALL(IF($B$1:$D$1=B$10,COLUMN($A$1:$C$1)),COUNTIF($B$10:B$10,B$10))
      )

enter image description here

Вы можете перетащить его в сторону. Будьте осторожны с $, когда адаптируете формулу к своей таблице.

Как вы уже сказали, вам нужно SMALL в формуле. Функция IF ищет случаи, например, Test1 в верхней таблице и возвращает номера столбцов. COUNTIF подсчитывает вхождения поискового термина до текущего столбца и передает результат в SMALL.

1 голос
/ 13 мая 2019

Вы можете использовать INDEX() только для столбца I в вашем случае. Таким образом, вы можете потерять ссылку на столбец.

Ниже я привел пример, плюс, если вы должны использовать LARGE().

enter image description here

Формула в B11:

=INDEX(D2:D8,MATCH(B10,A2:A8,0))

Формула в B12:

{=INDEX(B2:D8,MATCH(B10,A2:A8,0),LARGE((B1:D1="Test1")*(COLUMN(B1:D1)-1),1))}

Обратите внимание, что последняя является формулой массива, введенной через Ctrl Shift Введите

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