Так что немного отличается от большинства вопросов с индексами
У меня есть таблица движений от А до Б. У меня может быть движение Тип 1, Тип 2, Тип 3 или Тип 4.
Каждое из этих движений соответствует различному набору "шагов свертки". Это будет Шаг 1, Шаг 2 или Шаг 3.
Это отношение фиксируется в аккуратной таблице, например:
Step Type Relationship
Step 1 - Type 1 - 1
Step 2 - Type 1 - 0
Step 3 - Type 1 - 0
Step 1 - Type 2 - 1
Step 2 - Type 2 - 1
Step 3 - Type 2 - 0
Step 1 - Type 3 - 0
Step 2 - Type 3 - 0
Step 3 - Type 3 - 1
Step 1 - Type 4 - 1
Step 2 - Type 4 - 1
Step 3 - Type 4 - 1
Где 1 - это «Да, они связаны», а 0 - «Нет, это не так».
Теперь есть пошаговая таблица шагов, выглядит так:
SubStep --- Step
1 1
2 1
3 1
4 1
5 1
6 1
7 2
8 2
9 2
10 3
11 3
12 3
Теперь у меня есть таблица подшагов, и сколько подшагов мне нужно сделать. У меня есть таблица движений, и сколько единиц движений перемещается из А в Б. Я пытаюсь определить, сколько единиц нужно добавить к каждому подшагу.
Например:
Если бы у меня был тип движения 1 на 100 единиц, мне нужно было бы добавить 100 единиц к шагу 1 - 6. Если у меня тогда будет тип движения 2 на 200 единиц, мне нужно будет добавить дополнительные 200 единиц к подэтапу 1-6, чтобы в общей сложности переместить 300 единиц, а затем 200 единиц добавили к подэтапам 7-9.
Я понял, что sumproduct - это, вероятно, лучший способ сделать это. На данный момент первая часть выглядит так:
=SUMPRODUCT(UnitMovementWorksheetCurrent[Units],--(UnitMovementWorksheetCurrent[Month]=[@Month]),--(UnitMovementWorksheetCurrent[Year]=[@Year]),--(UnitMovementWorksheetCurrent[From]=[@[Lab Abbr]]),--(INDEX(MovementToStepLookup[Roll up Step],MATCH(UnitMovementWorksheetCurrent[Movement Type],MovementToStepLookup[Movement Number],0))=[@[Roll up Step]]))
Однако часть, которая не работает, это (INDEX(MovementToStepLookup[Roll up Step],MATCH(UnitMovementWorksheetCurrent[Movement Type],MovementToStepLookup[Movement Number],0))=[@[Roll up Step]]))
- I ' Я ожидал получить массив TRUE/FALSE из него, но вместо этого я просто получил ошибку #VALUE. Индекс правильно дает мне массив, Match правильно генерирует массив, при объединении двух (при переходе) он дает мне только один номер в результате, вместо массива чисел, тогда он дает мне (например) { 1} = 1, затем одно ИСТИНА.
Это работает, когда я пересекаю формулу, но когда я выделяю все, что нужно вычислить, это просто дает мне #VALUE. Итак, я полагаю, у меня есть два вопроса (действительно, единственный вопрос - как получить данные, но немного разбить их ...):
1) Как мне получить соответствие индекса для возврата результата массива?
2) Что я делаю не так в своей формуле?