Google apps script Google电子表格将矩阵数据转换为关系行
我的谷歌电子表格数据是一个带有“洞”的矩阵形式。看 我想根据上面的数据创建另一张工作表,看起来就像我在中手动完成的一样Google apps script Google电子表格将矩阵数据转换为关系行,google-apps-script,google-sheets,google-sheets-formula,array-formulas,google-sheets-query,Google Apps Script,Google Sheets,Google Sheets Formula,Array Formulas,Google Sheets Query,我的谷歌电子表格数据是一个带有“洞”的矩阵形式。看 我想根据上面的数据创建另一张工作表,看起来就像我在中手动完成的一样 有什么想法吗?这应该适用于最新版本的工作表: =ArrayFormula(查询(VLOOKUP(HLOOKUP('Table Chart'!A2,'Table Chart'!A2:A),INT((ROW('Table Chart'!A2:A)-ROW('Table Chart'!A2:G1))/COLUMNS('Table Chart'!B1:G1))+1,0),{'Table
有什么想法吗?这应该适用于最新版本的工作表:
=ArrayFormula(查询(VLOOKUP(HLOOKUP('Table Chart'!A2,'Table Chart'!A2:A),INT((ROW('Table Chart'!A2:A)-ROW('Table Chart'!A2:G1))/COLUMNS('Table Chart'!B1:G1))+1,0),{'Table Chart'!A2:G,IF(ROW('Table Chart'!A2:A),'Table Chart'!B1:G1)},{符号(ROW('Table Chart'!A2:A)),MOD(ROW('Table Chart'!Table Chart'!A2:A)),COLUMNS('+{2,2+列('Table Chart'!B1:G1)},0),“选择Col1、Col3、Col2,其中Col2不为空”,0))
为完整起见,这将适用于以前的版本,但日期将转换为文本字符串;它们可以转换为数值,但公式将变得更长:
=ArrayFormula(REGEXREPLACE(转置)(拆分(连接(REPT('Table Chart'!A2:A&CHAR(9)&Table Chart'!B1:G1&CHAR(9)&TEXT('Table Chart'!B2:G,“d-MMM-yyyyy”)&CHAR(10),LEN('Table Chart'!B2:G>0)),CHAR(10)),“^(+?)\t(+?)\t(+?)\t(
Google Apps脚本将为您提供一个“运行一次”的解决方案,该解决方案比一直在重新计算的公式更好(IMO),尽管可以调用上述公式,然后仅转换为值。但是,您可能需要动态更新这些公式
如果您想要气体解决方案,可以添加谷歌应用程序脚本
标签邀请其他答案。这应该适用于最新版本的工作表:
=ArrayFormula(查询(VLOOKUP(HLOOKUP('Table Chart'!A2,'Table Chart'!A2:A),INT((ROW('Table Chart'!A2:A)-ROW('Table Chart'!A2:G1))/COLUMNS('Table Chart'!B1:G1))+1,0),{'Table Chart'!A2:G,IF(ROW('Table Chart'!A2:A),'Table Chart'!B1:G1)},{符号(ROW('Table Chart'!A2:A)),MOD(ROW('Table Chart'!Table Chart'!A2:A)),COLUMNS('+{2,2+列('Table Chart'!B1:G1)},0),“选择Col1、Col3、Col2,其中Col2不为空”,0))
为完整起见,这将适用于以前的版本,但日期将转换为文本字符串;它们可以转换为数值,但公式将变得更长:
=ArrayFormula(REGEXREPLACE(转置)(拆分(连接(REPT('Table Chart'!A2:A&CHAR(9)&Table Chart'!B1:G1&CHAR(9)&TEXT('Table Chart'!B2:G,“d-MMM-yyyyy”)&CHAR(10),LEN('Table Chart'!B2:G>0)),CHAR(10)),“^(+?)\t(+?)\t(+?)\t(
Google Apps脚本将为您提供一个“运行一次”的解决方案,该解决方案比一直在重新计算的公式更好(IMO),尽管可以调用上述公式,然后仅转换为值。但是,您可能需要动态更新这些公式
如果您想要气体解决方案,可以添加谷歌应用程序脚本
标签邀请其他答案。这应该适用于最新版本的工作表:
=ArrayFormula(查询(VLOOKUP(HLOOKUP('Table Chart'!A2,'Table Chart'!A2:A),INT((ROW('Table Chart'!A2:A)-ROW('Table Chart'!A2:G1))/COLUMNS('Table Chart'!B1:G1))+1,0),{'Table Chart'!A2:G,IF(ROW('Table Chart'!A2:A),'Table Chart'!B1:G1)},{符号(ROW('Table Chart'!A2:A)),MOD(ROW('Table Chart'!Table Chart'!A2:A)),COLUMNS('+{2,2+列('Table Chart'!B1:G1)},0),“选择Col1、Col3、Col2,其中Col2不为空”,0))
为完整起见,这将适用于以前的版本,但日期将转换为文本字符串;它们可以转换为数值,但公式将变得更长:
=ArrayFormula(REGEXREPLACE(转置)(拆分(连接(REPT('Table Chart'!A2:A&CHAR(9)&Table Chart'!B1:G1&CHAR(9)&TEXT('Table Chart'!B2:G,“d-MMM-yyyyy”)&CHAR(10),LEN('Table Chart'!B2:G>0)),CHAR(10)),“^(+?)\t(+?)\t(+?)\t(
Google Apps脚本将为您提供一个“运行一次”的解决方案,该解决方案比一直在重新计算的公式更好(IMO),尽管可以调用上述公式,然后仅转换为值。但是,您可能需要动态更新这些公式
如果您想要气体解决方案,可以添加谷歌应用程序脚本
标签邀请其他答案。这应该适用于最新版本的工作表:
=ArrayFormula(查询(VLOOKUP(HLOOKUP('Table Chart'!A2,'Table Chart'!A2:A),INT((ROW('Table Chart'!A2:A)-ROW('Table Chart'!A2:G1))/COLUMNS('Table Chart'!B1:G1))+1,0),{'Table Chart'!A2:G,IF(ROW('Table Chart'!A2:A),'Table Chart'!B1:G1)},{符号(ROW('Table Chart'!A2:A)),MOD(ROW('Table Chart'!Table Chart'!A2:A)),COLUMNS('+{2,2+列('Table Chart'!B1:G1)},0),“选择Col1、Col3、Col2,其中Col2不为空”,0))
为完整起见,这将适用于以前的版本,但日期将转换为文本字符串;它们可以转换为数值,但公式将变得更长:
=ArrayFormula(REGEXREPLACE(转置)(拆分(连接(REPT('Table Chart'!A2:A&CHAR(9)&Table Chart'!B1:G1&CHAR(9)&TEXT('Table Chart'!B2:G,“d-MMM-yyyyy”)&CHAR(10),LEN('Table Chart'!B2:G>0)),CHAR(10)),“^(+?)\t(+?)\t(+?)\t(
Google Apps脚本将为您提供一个“运行一次”的解决方案,该解决方案比一直在重新计算的公式更好(IMO),尽管可以调用上述公式,然后仅转换为值。但是,您可能需要动态更新这些公式
如果您想要气体解决方案,可以添加谷歌应用程序脚本
标签邀请其他答案。删除范围A2:C,并将此公式粘贴到A2单元格:
=ARRAYFORMULA(SORT(SPLIT(TRANSPOSE(SPLIT(TRIM(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF('Basic Matrix'!B2:H<>"", "♀"&
SUBSTITUTE('Basic Matrix'!A2:A, "Indian Randonneurs", "IR")&"♂"&
SUBSTITUTE('Basic Matrix'!B1:H1, "IR-", )&"♂"&'Basic Matrix'!B2:H, ))
,,999^99)),,999^99)), "♀")), "♂"), 3, 1))
【代码】=ARRAYFORMULA(排序)(拆分)(转置)(拆分)(修剪)(查询)(转置)(转置(
如果('基本材料