2017-07-18 1 views
0

Googleスプレッドシートでは、生データを読み込み可能な形式に変換する配列を実行しています。配列forumulaはデータ行から実行され、配列を使用してデータを複数の行に転置します。問題は、生データの行を追加するたびに、配列式が分割されるように、転置されたデータの5つの新しい行を作成することです。追加された行のデータに配列の数式を適用しようとすると、どんな考えも認められるでしょう!Googleシート - 配列の新しい開始点

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

+0

私は誤ってオリジナルを編集しています。そこでhttps://docs.google.com/spreadsheets/d/16GOsH-EUDm2IeRgUgEQ8LBEltQASfJ8hR6GXh-pqNcM/edit?usp=sharing –

+0

に復元しました。私の解決策はhttps://docs.google.com/spreadsheets/d/1t21BPoy3wJzDZxKV7KyZZMn5gqmPtddPXです-6TWSFALGI/edit?usp = sharing –

+0

2番目のアプローチはhttps://docs.google.com/spreadsheets/d/1EZZjidQT8l1jOhIEMJUbgbqceK76iNArLsU7qifg4Aw/edit?usp=sharingです。 –

答えて

0

よりもむしろ配列数式を使用して、あなたはこれを行うには、間接式とモジュロ演算と整数の除算を使用することができます。 k2では、数式=indirect("A"&(3+FLOOR((row()-2)/5)))を入力します。列Aの行3の日付が行7から行4に移動するまで取得されます。この数式はドラッグでき、必要に応じて行が5ずつジャンプします。 同様にL2の場所が=indirect("B"&(3+FLOOR((row()-2)/5)))にあります。これは、列をドラッグ(コピー)することもできます。 カラム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)なり、その後に配列数式を適応させるでしょう:J2さんはJ7のあなたになり、その下の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)}次の所望の行を処理している。

関連する問題