vba - 返回同一工作簿中另一张工作表上的唯一日期数

标签 vba excel excel-formula

我有一个工作项目,我正在尝试计算员工工作的总天数,其中一张表中的数据提供在同一张表上计算的数字,或者同一工作簿中的另一张表。

每个工作日都有几行数据,因此我希望分别计算每个员工的唯一日期总数。如果数据被隔离到一名员工,那么我可以使用:

=SUM(IF(FREQUENCY(B:B,B:B)>0,1))

计算工作日数。我尝试使用几个额外的公式来获得我正在寻找的值,包括:
=SUMPRODUCT((TEXT('Data'!$A$1:$A$100, "yyyymm")="201804")*('Data'!B$1:$B$100="John Doe"))


=SUMIFS(IF(FREQUENCY('Sono Detail'!$B:$B,'Sono Detail'!$B:$B)>0,1),'Sono Detail'!$E:$E,'(Test) Sono Report Card 1.0'!$B$3)

这些都不起作用。

最佳答案

这还不是代码解决方案,但我发布此答案是为了说明您可以根据您提供的示例从数据透视表中获得的数据。

在第一个字段排列中,您可以看到数据透视表显示了每个员工每天执行了多少程序。这包括该时间段内每位员工的程序总数。因此,“员工 1”在 3 月 1 日执行了 14 个程序,以此类推。

enter image description here

如果我更改数据透视表的值字段,我可以显示每个员工执行程序所花费的总时间(以 DAYS 为单位)。因此,在下表中,员工 1 在 3 月 1 日工作了 0.15833 天。这转换为 288 分钟(或 3.8 小时)。

enter image description here

遍历数据透视表的 VBA 代码将识别每个员工以及他们工作了多少天,并且还可以访问其他总结性数据。

关于vba - 返回同一工作簿中另一张工作表上的唯一日期数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50049107/

相关文章:

c# - 将 Excel 问题转换为 Word,然后导出为 PDF

sql - SQL Server 和 Excel 中的不同计算

c# - 在 C# 中,如何使用 Excel Interop 来加速写入多个单元格值

excel - 使 MAP 返回单个单元格值以外的值

excel - 使用公式,从变量字符串中提取操作系统版本号

vba - 使 Resize() 更具体?

excel - 使用 Shell 从 excel vba 运行 python 脚本不会执行任何操作

javascript - 使用 VBA 时 Form.Submit 不通过

vba - Excel VBA Range.Rows 迭代器处理行的顺序

excel - 是否可以根据条件制作数字序列?