【问题标题】:Automation of sum( ) in ExcelExcel 中 sum( ) 的自动化
【发布时间】:2013-04-02 04:20:20
【问题描述】:

我有一个 Excel 表格,上面写着 First.xls,其中包含一些列,看起来像:

Sno   Type   Desc
 1    Hard   xxxx
 2    Soft   yyyy
 3   Medium  zzzz
 4    Hard   aaaa
 5   Medium  zbzb
 6   Medium  acac
 n    Soft   nnnn

我希望根据Type 列计算总和。与上面指定的表格一样,结果将填充到一个新的 Excel 窗口中,例如 Final.xls,其中包含以下数据:

Hard   Medium   Soft
 2        3       2

这是否可以通过一些脚本来实现,这将是更自动化的过程,而不是在 Excel 中执行?

【问题讨论】:

  • excel中sumif函数有什么问题?
  • 也许他使用的是旧版本?但我也会说“使用 countif”
  • 嗯,我不确定如何使用它并从不同的 excel 窗口调用 .. 你能告诉我一些使用它们的示例方法
  • 如上所述尝试this,它使用excel的countif方法,在您的情况下可以很好地工作。
  • 感谢countif,我能做到;无论如何要克服这个问题的手动工作?

标签: excel scripting automation sum


【解决方案1】:

是的,可以通过类似于 python 中的脚本的脚本来执行此操作,但为此您需要从 excel 表中读取数据(请参阅http://blog.nerdstogeeks.com/2011/05/reading-excel-data-using-python.html 以了解如何从 excel 表中提取数据) .有了数据,就很简单了。

final_list = { } #创建一个字典来存储最终值

假设您的数据在另一个字典 data_list 中,例如

data_list[0] = ["1", "Hard", "xxxx"]

//现在创建最终列表

for elem in range(len(data_list)):
    if final_list.has_key(data_list[elem][1]):
        final_list[data_list[elem][1]] = final_list[data_list[elem][2]] + 1
    else:
        final_list[data_list[elem][1]] = 1

因此您将在 final_list 中获得所需的数据,您可以将其写回 excel 表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2021-05-16
    相关资源
    最近更新 更多