2017-01-19 8 views
0

Googleのスプレッドシートの式を見つけようとしましたが、このように5列の配列を対角に転置します(例:A1:E20のデータを仮定)Googleスプレッドシートのデータ行をDiagonalに置き換えよう

A1

A2 B1

A3 B2 C1

A4 B3 C2 D1

A5 B4 C3 D2 E1は

しかしないため - 私は(多くの助けのための感謝の行に対角からまたは列)逆問題の解決策を見つけた

E3

A6 B5 C4 D3 E2

A7 B6 C5 D4 ...これです。

ご協力いただきありがとうございます。

+0

を投稿あなたは、おそらく「opposのための解決策を見つけましたそれはこの投稿で問題です:http://stackoverflow.com/questions/41741320/transpose-diagonal-to-row-in-google-spreadsheet?回答があれば、あなたの質問に答えます(その投稿で)、少なくとも答えを受け入れることができますか? – JPV

+0

JPV!申し訳ありませんが、受け入れ可能な回答機能があるかどうかはわかりませんでした。私はあなたに答えてくれましたが、明らかに削除されました。とにかく問題が解決しました、ありがとう! – nickros

答えて

0

はここにあなたの元に戻って別の方法だと私は約束

最後のものは、この1は一番上の行に空白のセルを修正します

=iferror(if(columns($A1:A1)>rows(A$1:A1),"",index(A$1:A$5,rows(A$1:A1)-columns($A1:A1)+1)),"") 

enter image description here

+0

これは、トムに感謝します! – nickros

0

編集:

私はあなたの質問を誤読したため、私の古いコメントを削除しました。次のコードは、大きさにドラッグするだけで必要なすべてのセルに適用されます。このコードでは、1の開始行と11の列が想定されていますが、これは任意の値に調整できます。

=if((row()-(column()-11))>0,indirect(char(column()-10+64)&row()-(column()-11)),"") 

編集2:

だから、これは完全に変数にするために、あなただけのオリジナルデータの左上のセルと新しいブロックの左上のセルの間の距離を知っている必要があります。数字だけ、またはセル参照でのdXとDYを交換し、あなたが行くオフ行差「DY」の数

=if(((row()-dy)-(column()-dx))>0,indirect(char(column()-dx+65)&(row()-dy)-(column()-dx)),"") 

を列差「DX」の数を呼び出すことができます!

編集3:(私は一つだけになっていたが)

=if(((row()-dy+1)-(column()-dx))>0,indirect(char(column()-dx+64)&(row()-dy+1)-(column()-dx)),"") 
+0

ありがとう!これは動作しますが、シート内の他の場所に配置されている場合は、式を調整するのに問題があります。特に、転置されたセルの配列が元のデータと異なる行で始まる場合。 – nickros

+0

もう一度ありがとう! 2回目の編集を試みましたが、今度は新しいブロックを自由に配置することができます。しかし、私はまだいくつかの問題があります。しかし、 "dx + 65"を "dx + 64"に変更すると、新しいブロックのデータは、その左上のセルを基準にして3行下にプッシュされ、式が配置されます。しかし、私はそれで生きることができると思います。 – nickros

+0

マイナーな修正 –

関連する問題