excel - 如何转置Excel中其他选项卡中的数据

标签 excel excel-formula

我正在寻找将表格转入 Excel 中的其他选项卡的方法。

我的第一个表:

First_Name | Last_Name | Company   | Number  | Done (1 = yes / 0 = no)
-----------------------------------------------------
Allison    | Dark      ! McDonald  | 2,00    |  1
John       | Doe       | Amazon    | 10,00   |  1
Julian     | Smith     | Coca Cola | 3,00    |  0
Kathy      | Johnson   | Coca Cola | 20,00   |  1
Barbara    | Brown     | Tesco     | 10,00   |  0
Alexander  | Lee       | Amazon    | 4,00    |  0
Harry      | Moore     | Amazon    | 8,00    |  0

如何在其他选项卡中检索这些数据,如下所示:

Company   | Number of names | Done   |  Sum of Numbers 
------------------------------------------------------
Amazon    |     3           | 1 on 3 |   22,00
Coca Cola |     2           | 1 on 2 |   23,00
McDonald  |     1           | 1 on 1 |   2,00
Tesco     |     1           | 0 on 1 |   10,00

我正在寻找一个公式,但它也可以用 VBA 编写。 感谢您的帮助。

最佳答案

假设问题中列出的标签没有 Excel 版本限制。这是REDUCE/VSTACK模式的另一个应用,你可以查看我对以下问题的回答:how to transform a table in Excel from vertical to horizontal but with different length 。该公式会溢出整个结果,包括标题并返回按公司名称排序的结果。穿上G1以下内容:

=LET(in, A1:E8, h, TAKE(in,1), data, DROP(in,1), cmp, INDEX(data,,3),ux, 
 SORT(UNIQUE(cmp)), done, INDEX(data,,5), amnt, INDEX(data,,4), 
 header, {"Company","Number of Names","Done","Sum of Numbers"}, CALC, LAMBDA(x, 
 LET(a, cmp=x, b, SUM(N(a)), c, SUM((a)*(done=1)), 
 HSTACK(x, b, c&" on "&b,SUM(a*amnt)))), REDUCE(header, ux, LAMBDA(ac,x, 
 VSTACK(ac, CALC(x)))))

注意:更新了查看@VBasic2008的公式,我意识到可以首先对公司进行排序,这样可以减少公式。

这是输出: output

用户LAMBDA 函数CALC 进行计算,在REDUCE 的每次迭代中生成整行。我们不能使用 header 来初始化累加器(ac),因为我们需要先对结果进行排序。

关于excel - 如何转置Excel中其他选项卡中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75890308/

相关文章:

visual-studio-2010 - Windows 7 下的 ClickOnce/Excel-VSTO

excel - 将Excel公式转换为VBA函数

java - 使用 POI 从 Excel 工作表获取日期

python-3.x - Openpyxl 在保存时会损坏 xlsx。即使没有进行任何更改

VBA - 在长公式上使用 Application.Evaluate 时出错

windows - excel 函数 ARBEITSTAG 在英文版 Excel 中不起作用

vba - 我可以获得与 DateTime.Now.Ticks 等效的 VBA 吗?

excel - 如何使用多个分隔符拆分字符串并在vba excel中加入部分?

java - 如何在Java中编写Excel文件而忽略Excel公式?

Excel:合并 FILTER() 函数输出二维数组中的重复值