首页 文章

Google表格 - 数组的新起点

提问于
浏览
0

在Google表格中,运行数组以将原始数据转换为可读格式 . 数组论坛运行一行数据,并使用该数组将数据转换为多行 . 问题是,对于每一行额外的原始数据,我创建了五行新的转置数据,因此数组公式会中断 . 试图使数组公式flex适用于添加的数据行 - 任何想法都将受到赞赏!

https://docs.google.com/spreadsheets/d/16GOsH-EUDm2IeRgUgEQ8LBEltQASfJ8hR6GXh-pqNcM/edit?usp=sharing

1 回答

  • 1

    您可以使用间接公式和模运算以及整数除法来执行此操作,而不是使用数组公式 . 在k2中,将公式 =indirect("A"&(3+FLOOR((row()-2)/5))) 从第A行第3行获取日期,直到第7行开始从第4行开始 . 此公式可以向下拖动,并根据需要每5跳一次 . 类似地,对于 =indirect("B"&(3+FLOOR((row()-2)/5))) 中的L2位置,也可以向下拖动(复制)该列 . 对于列m,我们需要循环通过c2,d2,e2,f2和g2,因此我们需要模数(时钟)算术 . 所以在m2中放置公式 =indirect(char(CODE("C")+(mod(ROW()-2,5)))&"2") . 最后,对于数量,我们需要每5行进行列循环和递增行,因此n2的公式为 =indirect(char(CODE("C")+(mod(ROW()-2,5)))&(3+FLOOR((row()-2)/5))) . 这也可以被复制下来 . 应该这样做 . 肯定会有更优雅的方式 .

    我认为不是更优雅,但保留数组公式将是j2中的 =3+floor((row()-2)/5) 并向下拖动,然后将数组公式调整为: ={INDIRECT("A" & J2),INDIRECT("B"&J2),$C$2,INDIRECT("C"&J2);INDIRECT("A" & J2),INDIRECT("B"&J2),$D$2,INDIRECT("D"&J2);INDIRECT("A" & J2),INDIRECT("B"&J2),$E$2,INDIRECT("E"&J2);INDIRECT("A" & J2),INDIRECT("B"&J2),$F$2,INDIRECT("F"&J2);INDIRECT("A" & J2),INDIRECT("B"&J2),$G$2,INDIRECT("G"&J2)} 可以将其复制到J2 's become J7'下面的5行并且您正在处理下一个期望的行 .

相关问题