相关疑难解决方法(0)

Excel 公式部分从表数据动态构建数组

我不知道使用单个单元格公式是否可以实现这一点。需要 Excel 2010 兼容(及更高版本)的公式。目的是使用如下公式

{=SUM(INDEX(built_Array;N(IF(1;ROW(INDIRECT(x1 &":"& x2)))))} 
Run Code Online (Sandbox Code Playgroud)

其中 x1 和 x2 是对包含与构建数组兼容的起始索引和结束索引的单元格的引用。

Excel 公式的“构建数组”部分应根据其他地方的两个表中的数据构建:表上的标识符用于选择实际内容(使用查找 Excel 函数)。一张表包含重复值的数量,另一张表包含实际值。

例如:

P1 P2 P3 P1 P2 P3
i01 2 4 i01 20.0 20.6
i02 3 i02 10.0
i03 2 7 9 i03 30.0 30.4 30.2
i04 4 2 i04 15.0 15.1
i05 5 i05 10.0

因此 i03 的构建数组将是

{30.0;30.0;30.4;30.4;30.4;30.4;30.4;30.4;30.4;30.2;30.2;30.2;30.2;30.2;30.2;30.2;30.2;30.2} 
Run Code Online (Sandbox Code Playgroud)

对于 i04 来说是

{15.0;15.0;15.0;15.0;15.1;15.1}
Run Code Online (Sandbox Code Playgroud)

那么,对于 i04 取第 3 到第 5 个值,上面的数组 (ctrl-shift-enter) 公式的结果将是 45.1,而对于 i04 取第 2 到第 3 个值,结果将是 30。

我发现困难的是从公式内的表构建数组,特别是因为每个标识符可能具有不同数量的组件。

我有预感,这应该是可行的,在其他编程语言中,会使用迭代或递归,但我想探索这种方式,而不是恢复到 VBA(如果存在概念上的原因,这在 Excel …

excel excel-formula dynamic-arrays

5
推荐指数
1
解决办法
1630
查看次数

将 UNIQUE 与不同工作表上的非相邻列一起使用

我在两张纸上有两张桌子 - 比如说 tblFruits1 和 tblFruits2。两者都有一个“名称”列。例如,苹果公司就出现在这两个列表中。列表可能有不同的行数

Sheet1 上的 tblFruits1

姓名 颜色
苹果 红色的
黄色的
凤梨 黄色的

Sheet2 上的 tblFruits2

姓名 颜色
苹果 红色的
樱桃 红色的
香蕉 黄色的
甜瓜 绿色的

现在我想在第三张纸上获得两个表名称的唯一列表。

Sheet3 上的预期结果

姓名
苹果
凤梨
樱桃
香蕉
甜瓜

=UNION((tblFruits1[Name],tblFruits2[Name]))返回错误。

我尝试了SEQUENCE和 的变体INDEX,但没有成功。

所以问题是:

如何从两个不同工作表上的两个列范围“构造” UNIQUE 的矩阵参数?

(我正在寻找的是非 VBA解决方案 - 我知道如何在 VBA 中处理这个问题。)

excel excel-formula office365

5
推荐指数
1
解决办法
2878
查看次数

标签 统计

excel ×2

excel-formula ×2

dynamic-arrays ×1

office365 ×1