用于比较 Excel 中的多个工作表并在新工作表中按升序显示它们的函数或代码

雷蒙

我有一个工作簿,其中有 3 个类似的工作表。每个来自不同的供应商。我想比较它们以找出每件商品谁更便宜,谁最便宜。例如:

工作表 1 (D)(代表大卫)

    A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      20            30            40
    3 Orange     25            33            46

工作表 2 (O)(代表奥利弗)

    A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      18            30            35
    3 Orange     25            35            46

工作表 3 (H)(代表哈利)

    A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      22            33            44
    3 Orange     20            36            39

我希望输出是这样的:

工作表 4(按最便宜的排序)

    A            B             C             D
    1            quality 1     quality 2     quality 3    .....
    2 Apple      O;D;H         D=O;H         O;D;H
    3 Orange     H;D=O         D;O;H         H;D=O

提前感谢您的时间和考虑。

罗伊布兰德

这个问题的难点在于 Excel 范围不能真正跨工作表,它不是真正的 3D。所以在 VBA 中你可能会得到:

  • 要比较的 3 个(或更多?)工作表的工作表名称数组
  • 一个循环,用于将给定二维地址中的值从工作表数组中提取到一个数组中
  • 对数组进行排序(这不是一回事,您必须将数组转储到某个位置的临时范围中并对其进行排序,以及工作表名称列表)
  • 一个循环,用于向下排序数组的温度范围,按顺序命名工作表并根据下一个值放入等号或分号
  • 这都在您的输出表中构造了一个该类型的字符串。

...我将所有这些作为 Excel 函数来执行,然后将该函数复制到 Sheet4 的所有单元格中,因为 sheet1-3 的名称已硬编码到该函数中。

如果您希望能够对任意的工作表列表执行此操作,那就更棘手了。

但在我们开始之前,您是否有很多 3D 数据处理工作要做?因为 Excel 有一个强大的多维数据工具,叫做数据透视表,你的数据非常适合放入数据透视表,这将允许你“透视”数据,使“哪个供应商”成为一列或行,而不是工作表。

数据透视表有一个学习曲线,但它们是解决此类问题的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

按行值比较 Excel 工作簿中的工作表并突出显示差异

比较多个工作表中的多列Excel

Apache POI:用于识别Excel工作表中的表并读取它们的API

用于Excel表中日期比较的Python脚本

用于比较多列并对结果求和的 Excel 函数

Excel VBA代码可将系统日期与工作表中的日期进行比较

将模块中的Excel VBA代码应用于所有工作表

将几张工作表汇总到一个最终的Table Excel中,并在摘要中包括新工作表

比较多个相邻的单元格-Excel工作表

用于比较值的 Excel 宏

Excel,比较工作簿中不同工作表中的单元格

比较 excel vba 中缺失工作表的 2 个工作簿

Excel-SUMIF用于多个工作表,列和行

Excel VBA比较并复制2个Excel文件中的工作表

Excel宏输入框,用于输入文本,新工作表及其名称

如何使用powershell脚本在excel中创建新工作表

将粘贴复制到Excel中的新工作表

使用现有宏在excel中创建新工作表

如何遍历多个Excel工作表并在新列中附加工作表名称?

用于重命名和排序工作簿中的工作表的 Excel 宏?

Excel VBA:我切换到新工作簿并想删除工作表,但代码试图删除宏工作簿中的工作表

比较VBA中不同工作表中的2个单元格(Excel 2010)

VLOOKUP和IF在多个Excel工作表中

替换Excel工作表中的多个单词

多个工作表中的Excel图表

从 Excel 中的多个工作表返回数据

使用vba需要帮助以从动态工作表中选择具有动态数据的行,并在Excel中合并到新工作表中

比较2个Excel工作表中的值并按VBA降序排序

比较工作表的单元格数据在 Excel VBA 中不起作用