Есть ли способ создать RDBMS-поведение в Excel для поиска столбцов строк? - PullRequest
0 голосов
/ 04 октября 2011

Можно ли искать значения в Excel следующим способом:

Таблица 1

ID    |     Code
-----------------
1     |      I
1     |      J
1     |      K
2     |      I
2     |      J
2     |      L

Таблица 2

ID    |    I      |    J    |    K    |    L    
----------------------------------------------
1     |   14.40   |  12.33  |  9.21   |  
2     |   13.99   |  11.28  |         |   32.33

Поиск будет состоять в том, чтобы добавить значения столбца в таблице 2 рядом с таблицей 'code' в таблице 1. Таким образом, таблица 1 изменится на:

Таблица 1

ID    |  Code  |  Amount
-------------------------
1     |   I    |   14.40
1     |   J    |   12.33
1     |   K    |   9.21 
1     |   L    |   
2     |   I    |   13.99
2     |   J    |   11.28
2     |   K    |   
2     |   L    |   32.33

Напоминаем, что этот проект выполняется в Microsoft Excel 2003.

Обновление

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

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Вы можете использовать Index и Match

=INDEX($C$4:$E$6,MATCH(H3,$B$4:$B$6,0),MATCH(I3,$C$3:$E$3,0))

Функция «Найти» находит позицию вашего идентификатора и кода в заголовках строк и столбцов таблицы 2. Индекс использует их для возврата к пересечению строки и столбца.

0 голосов
/ 04 октября 2011

Предполагая, что таблица 1 находится в ячейках A1: B7, а таблица 2 - в A10: E12, вы можете поместить эту формулу в c2 и скопировать ее в c7. Это формула массива, поэтому вам нужно нажать ctrl-shift-enter после ее ввода.

=SUM(IF($A$11:$A$12=A2,IF($B$10:$E$10=B2,$B$11:$E$12,0)))
...