【问题标题】:Unpivot Matrix to Tabular. Using counts of two variables into individual rowsUnpivot 矩阵到表格。在单独的行中使用两个变量的计数
【发布时间】:2015-08-04 17:04:04
【问题描述】:

我有一个基本的寄存器格式、矩阵格式、第一列中的名称和顶行中的日期。

A2:A20 名称(班级规模变化范围)

B1:E1 日期(范围更改)

A2:E20 = 计数数字:(1 到 5)

我想将其转换为表格格式,考虑到计数,取消透视结果。

因此,如果 姓名 1第 1 天 参加了两次,姓名 2第 2 天 参加了一次,并且姓名 3第 3 天参加了 5 次:输出将显示:

第 1 行:n1,d1

行 2:n1, d1

Row3:n2, d2

Row3:n3, d3

Row3:n3, d3

Row3:n3, d3

Row3:n3, d3

Row3:n3, d3

谁能帮我解决这个问题?这适用于 Google 表格吗?

【问题讨论】:

  • 最好选择一个平台...
  • 抱歉,这是我的第一篇文章。

标签: google-sheets


【解决方案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 使输出垂直。

【讨论】:

  • 这对 Google 表格非常有效!解说也很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 2017-01-26
  • 2021-01-25
  • 1970-01-01
相关资源
最近更新 更多