我在接待处使用 Excel 电子表格以以下方式登录访客:
[NAME] [HOUR]
JOHN 09:00
MARC 09:00
DAVID 10:00
JOHN 11:00
MARC 12:00
DAVID 13:00
显然有更好的工具可以完成这项工作,但这里别无选择。我被要求根据这些数据制作一个数据透视表,它应该如下所示:
[JOHN] [MARC] [DAVID]
09:00 09:00 10:00
11:00 12:00
13:00
但是我只能让数据透视表对这些值进行运算(例如,09:00 + 10:00 的总和等),而我只是想简单地枚举它们。也许使用数据透视表并不是正确的解决方案?
谢谢阅读
答案1
如果 NAMES 在 A 列中而 TIMES 在 B 列中,则将 John Marc 和 David 添加为 E、F 和 G 列的第 1 行列标题。
在 E2 中将下面的公式添加为数组公式(确保在单元格中按下 CONTROL-SHIFT-ENTER 将其转换为数组公式!这将为您提供花括号 {} 以显示其数组公式)
=IF(ISERROR(INDEX($A:$B,SMALL(IF($A:$A=E$1,ROW($A:$A)),ROW(1:1)),2)),"",INDEX($A:$B,SMALL(IF($A:$A=E$1,ROW($A:$A)),ROW(1:1)),2))
将此公式拖到 G 列,然后选择 E2 到 G2,向下拖动所需的行数。
确保更改时间的单元格格式或将示例与自定义格式 hh:mm 匹配
SMALL() 识别数组匹配行中第 n 个最小值。然后使用此行号仅返回该行中的值。当您向下复制公式时,它会查找下一个匹配的行号并返回其值,直到它变为 ISERROR true,此时它会输入一个“”空白条目