我的Google表格:
name paid time
john y 2015/08/02 14:14
john n 2015/08/02 14:13
john n 2015/08/02 14:12
pat n 2015/08/02 14:11
peter n 2015/08/02 14:10
greg n 2015/08/02 14:09
ricardo n 2015/08/02 14:05
barack y 2015/08/02 14:02
john n 2015/08/02 20:14
Run Code Online (Sandbox Code Playgroud)
我需要计算在10分钟内没有付款或不付款的人(如果这个人在10分钟内没有付款,那么他还没有付款).我尝试过:
=SUMPRODUCT(--(A2:A9<>"")/COUNTIF(A2:A9,A2:A9&""))-COUNTIF(B2:B9,"y")
Run Code Online (Sandbox Code Playgroud)
这是一个好的开始,但我没有时间间隔作为参数.
在这种情况下,它返回4但不是5我想要的,因为John在10分钟(14:12到14:14之间)但不是在20:14支付.
例如,它开始于2015/08/02 14:12为John(第一个NO - > n)然后让我们看看接下来的10分钟会发生什么.
如果没有,所以我们认为他没有付钱.否则"y",所以他支付了
然后我们继续看看john n 2015/08/02 20:14会发生什么(因为在20:14之后什么也没付款)
所以总共5个人而不是4个人.
首先获取每个 n 和 y 类别的最近日期,然后计算最近的 n 日期比 y 日期新的名称。
关于“10 分钟内不付款(如果该人在 10 分钟内没有付款,那么他还没有付款)”的部分被故意忽略,因为 OP 没有包含有关如何收集数据的详细信息,也没有包含有关如何收集数据的详细信息。何时以及如何使用计算结果。
考虑以下作为源数据
+----+---------+------+-------------------+
| | A | B | C |
+----+---------+------+-------------------+
| 1 | name | paid | time |
| 2 | john | y | 8/2/2015 14:14:00 |
| 3 | john | n | 8/2/2015 14:13:00 |
| 4 | john | n | 8/2/2015 14:12:00 |
| 5 | pat | n | 8/2/2015 14:11:00 |
| 6 | peter | n | 8/2/2015 14:10:00 |
| 7 | greg | n | 8/2/2015 14:09:00 |
| 8 | ricardo | n | 8/2/2015 14:05:00 |
| 9 | barack | y | 8/2/2015 14:02:00 |
| 10 | john | n | 8/2/2015 20:14:00 |
+----+---------+------+-------------------+
Run Code Online (Sandbox Code Playgroud)
将以下公式添加到单元格 E1
=QUERY(A:C,"select A,max(C) where A <>'' group by A pivot B",1)
Run Code Online (Sandbox Code Playgroud)
+---+---------+-------------------+-------------------+
| | E | F | G |
+---+---------+-------------------+-------------------+
| 1 | name | n | y |
| 2 | barack | | 8/2/2015 14:02:00 |
| 3 | greg | 8/2/2015 14:09:00 | |
| 4 | john | 8/2/2015 20:14:00 | 8/2/2015 14:14:00 |
| 5 | pat | 8/2/2015 14:11:00 | |
| 6 | peter | 8/2/2015 14:10:00 | |
| 7 | ricardo | 8/2/2015 14:05:00 | |
+---+---------+-------------------+-------------------+
Run Code Online (Sandbox Code Playgroud)
结果是一个显示 y 和 n 类别的最新日期的表格。
将以下公式添加到单元格 I2
=ArrayFormula(SUM(IF(F2:F>G2:G,1,0)))
Run Code Online (Sandbox Code Playgroud)
计算第 n 日期比 y 日期新的每个名称。
+---+---+
| | I |
+---+---+
| 1 | |
+---+---+
| 2 | 5 |
+---+---+
Run Code Online (Sandbox Code Playgroud)
=transpose(
QUERY(
QUERY(
A:C,
"select A,max(C) where A <>'' group by A pivot B",1),
"select count(Col1) where Col2 > Col3",1)
)
Run Code Online (Sandbox Code Playgroud)
+------------+---+
| count name | 5 |
+------------+---+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |