Google sheets 反向转置
我从另一个用户那里看到了这个解决方案,并得到了(Opal)的答复。我试图稍微修改一下结果,但却被空值卡住了。我有这个原始数据表(作为示例) idn | id名称| d1 | d2 | d3…Google sheets 反向转置,google-sheets,Google Sheets,我从另一个用户那里看到了这个解决方案,并得到了(Opal)的答复。我试图稍微修改一下结果,但却被空值卡住了。我有这个原始数据表(作为示例) idn | id名称| d1 | d2 | d3… id1 |/name1/| 23 | 13 | 56 id2 |/name2/| 67 | 45 | id3 |/name3/| 43 | id4 |/name4/| 78 | 34 | 45 . 我想将此列表转换为以下形式,以便上载到数据库,结果如下所示: id1 |/name1/| date1 | 2
id1 |/name1/| 23 | 13 | 56
id2 |/name2/| 67 | 45 |
id3 |/name3/| 43 |
id4 |/name4/| 78 | 34 | 45
. 我想将此列表转换为以下形式,以便上载到数据库,结果如下所示: id1 |/name1/| date1 | 23
id1 |/name1/| date2 | 13
id1 |/name1/| date3 | 56
id2 |/name2/| date1 | 67
id2 |/name2/| date2 | 45
id3 |/name3/| date1 | 43
id4 |/name4/| date1 | 78
id4 |/name4/| date2 | 34
id4 |/name4/| date3 | 45
.
.
我如何做到这一点-我目前的解决方案如下,但不适用于空格。我看到了Opal解决方案,它可以处理空格,但无法确定如何创建日期列(结果中的第3列) 数组格式({transpose(split)(query)(rept(A2:A&“”,COUNTA(C1:1)),50000),“”),transpose(split)(rept(B2:B&“”,COUNTA(C1:1)),50000),“”),transpose(split)(JOIN(“),ArrayFormula(rept(JOIN(“,(query(C1:1)),”COUNTA(A2:A))),“”),transpose(split(JOIN(“,”,query(C2:M),,50000)),)))),“”)
有什么建议吗?这是一个大数据集,我达到了所有字符串函数的极限,rept极限为32000,join极限为50000
谢谢。这是一个很好的公式。我相信你是的 请注意,如果空格为0,则公式有效。 我知道这不是一个完美的解决方案,但它是有效的。 在另一张图纸中,请使用:
=ArrayFormula({transpose(split)(rept(Sheet1!A2:A&“”,COUNTA(Sheet1!C1:1)),50000),“”),transpose(split(rept)(rept)(rept)(Sheet1!B2:B&“”,COUNTA(Sheet1!C1:1)),50000),“”),transpose(split(JOIN(“,ArrayFormula(rept(JOIN(“,(query(Sheet1!C1:1)),(query)(COUNTA)(Sheet1!A2:A)),“”),transpose(split)(split)(split)(JOIN(“),transpose)(JOIN)(JOIN(“,query(seet1!C1!C2:0))和“)转置)(,,50000)),“”)})
C2:E5+0
将空格替换为0,以便
这是公式的一部分。它不会影响原始数据。
这将返回格式正确的数据,但带有
不需要的0行。在另一张纸上,清理
不需要的行包含:
=查询(Sheet2!A:D,“选择*其中D!=0”)
这将以正确的格式返回所需的数据。请添加指向您所指的“Opal解决方案”的链接,好吗?我遇到的另一个问题是连接函数中50000个字符的限制。它是一个大数据集,我正在达到所有字符串函数的限制,报告限制为32000,加入限制为50000。您可以单击问题下方的“编辑”链接,将其他信息直接添加到问题中。这样,阅读它的人将立即看到所有信息。