2017-01-19 9 views
1

Continuation of this threadКак заставить эту формулу поддерживать несколько строк/перетаскивание?

Формула пока. Match [n] = критерии соответствия, HEADER = критерии заголовка и т. Д. Эта формула Суммирует значения ячеек заголовка, которые соответствуют конкретным критериям, то есть: 6502, с этой формулой, может соответствовать заголовку/6502, а затем принять значение RETURNSUM, именованный диапазон и добавьте их с другими совпадениями.

=SUMPRODUCT((RETURNSUM* 
(MID(HEADER,2,4)=IF(LEN(Match5)=4,Match5&"",Match5&" ")))+(RETURNSUM* 
(MID(HEADER,2,4)=IF(LEN(Match6)=4,Match6&"",Match6&" ")))+(RETURNSUM* 
(MID(HEADER,2,4)=IF(LEN(Match7)=4,Match7&"",Match7&" "))) 

Идея заключается в том, что жатки и RETURNSUM станут критериями соответствия, как спички, написанных выше, таким образом, было бы легче пробивать новый критерий в таблицу поиска. На данный момент он не поддерживает несколько строк/перетаскивание, даже если он записывается как ячейки, такие как $ A2: $ F2.

Вопрос, который у меня есть, заключается в том, как я могу сделать так называемые ячейки с несколькими строками?

+0

О, я понял вас, я думал, что ты имел в виду, что заголовки были вперемешку среди данных o.o –

ответ

1

Для этого вы можете использовать =INDEX(array,row_num,[col_num]).

Формула индекса принимает результаты только от соответствующей строки. Row(1:1) автоматически обновляется при перетаскивании, поэтому INDEX может затем захватить следующую строку.

=SUMPRODUCT((INDEX(RETURNSUM,ROW(1:1),0)* (MID(HEADER,2,4)=IF(LEN(Match5)=4,Match5&"",Match5&" ")))+(INDEX(RETURNSUM,ROW(1:1),0)* (MID(HEADER,2,4)=IF(LEN(Match6)=4,Match6&"",Match6&" ")))+(INDEX(RETURNSUM,ROW(1:1),0)* (MID(HEADER,2,4)=IF(LEN(Match7)=4,Match7&"",Match7&" "))))