我有一个基本的注册格式,矩阵格式,第一列中的名称和第一行中的日期。
A2:A20名称(班级大小的范围变化)
B1:E1日期(范围变化)
A2:E20 =计数数字:(1到5)
我想将其转换为表格格式,考虑计数,取消结果。
因此,如果名称1 在第1天和名称2 中参加两次第2天并且姓名3 在第3天出席5次:输出显示:
第1行:n1,d1
第2行:n1,d1
第3行:n2,d2
第3行:n3,d3
第3行:n3,d3
第3行:n3,d3
第3行:n3,d3
第3行:n3,d3
有人可以帮我吗?这可以在Google表格上使用吗?
答案 0 :(得分:1)
对于Google表格解决方案:
=ArrayFormula(TRANSPOSE(TRIM(SPLIT(QUERY(TRANSPOSE(QUERY(REPT(A2:A20&", "&B1:E1&" ",B2:E20),,100)),,100)," ",0))))
REPT
为矩阵中的每个值 n 形成一个字符串,该字符串以逗号分隔的名称和日期重复, n 次。内部QUERY
是一个强大地连接每个列的技巧,以空格分隔。 100只需要是一个你知道的值超过矩阵中的行数。
TRANSPOSE
使得结果数组垂直,外部QUERY
再次连接此数组,以空格分隔(在这种情况下,100需要超过源矩阵中的列数)。
您最终得到一个字符串,其中名称 - 日期对由一行中至少两个空格分隔。 SPLIT
将字符串拆分为这些双空格,TRIM
除去了结果字符串两端的不需要的空格。外TRANSPOSE
使输出垂直。