相关疑难解决方法(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