google-sheets - 将多列数据转换为三元组的行,其类型列的值基于原始列名
问题描述
我在 Google 表格中有如下数据:
Entity A B C
foo 42 27 13
bar 67 17 94
我想把它变成这样:
Entity Type Value
foo A 42
foo B 27
foo C 13
bar A 67
bar B 17
bar C 94
最简单的方法是什么?
解决方案
不确定它是否是最简单的,但这对我有用
=ArrayFormula(split(transpose(split(textjoin(";",true,A2:A3&","&B1:D1&","&B2:D3),";")),","))
编辑
我使用逗号作为列之间的分隔符,并使用分号作为行之间的分隔符,因为它们在设置数组常量时在 Google 表格和 Excel 中使用,但是您可以选择任何一对字符以避免与使用的字符集发生冲突您的数据,例如
=ArrayFormula(split(transpose(split(textjoin("§",true,A2:A3&"¶"&B1:D1&"¶"&B2:D3),"§")),"¶"))
推荐阅读
- r - 根据模式从字符串创建子字符串,并将模式保留在子字符串中
- php - 将base64图像流转换为图像文件但为空白
- mysql - 如何在 MySQL 中查看全文索引的索引内容?
- javascript - 使用 JavaScript new Image() 加载外部 .svg,然后更改其内容
- php - $image 变量在文件上传 php 时保持为空
- python - 在 Python 中跨数据帧搜索和替换匹配值
- c# - 有没有办法在 C# 中获取方法的所有可能返回值?
- excel - 在另一张纸上显示数据
- ip - Drupal 8系统中如何通过ip过滤隐藏/不显示特定节点字段
- php - 将以下带索引的数组转换为字符串