在插图上,所有公式都是数组。每个公式跨越的范围都有边界,每个块上的第一个公式写在该块的顶部。
RangeA4:A103
是一个输入向量(它是数字),rangeC4:G23
是行的给定(输入)排列A4:A103
(必须是不大于输入向量长度的正非零整数)。
让我们将置换矩阵解释为一组行。
如何为恒定数量的单元格中的每一行计算输入向量中的最小数量?我的意思是固定数量的单元格,即解决方案,无论排列中的列数如何,每行都需要固定数量的单元格。(在生产情况下,每个维度都要大得多;置换矩阵中有大约 100 列。)
我不要求 VBA 解决方案。如果有必要,该解决方案可以使用免费且公开可用的 Excel 插件,例如 MoreFunc,但我更愿意保留它的原版 Excel 2007 或更高版本。
我认为这个公式{=MIN(INDEX(INDIRECT($A$2);$C4:$G4))}
可以解决我的问题。令人惊讶的是,Excel 似乎没有考虑公式的数组性质,并且将其评估为好像它被编写为=MIN(INDEX(INDIRECT($A$2);$C4)
相当于功能失调的=INDEX(INDIRECT($A$2);$C4)
.
另一方面,我们可以看到 的参数MIN
被理解为 I4:M4 范围内的数组。