• ベストアンサー

Excelでセルの位置を規則的に変更したい

今下のようになってます。  A 1 あ 2 い 3 う 4 え 5 お 6 か 7 き 8 く これを次のようにしたいのですが、どのようにすればよいのでしょうか?  A B 1 あ い 2 う え 3 お か 4 き く

質問者が選んだベストアンサー

  • ベストアンサー
  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.2

#1です。 先の回答の数式を解説すると、 「ROW()」は( )内の参照先セル(省略した場合は入力されているセル)の行番号を返す関数 「INDIRECT()」は( )内の文字列が指定している参照を返す関数です。 つまり「=INDIRECT("A"&ROW()*2-1)」は、 「A+(そのセルの行番号×2-1)」が示す参照値、ということです。 ですからB1に上記式を入力した場合、 「A+(1×2-1)」で「A1」の示す値、すなわち「あ」が表示されることになります。 同様にC1に「=INDIRECT("A"&ROW()*2)」と入力すると、 「A+(1×2)」で「A2」となり、「い」が返ります。 ここでA1がA61となった場合は、 「A+(そのセルの行番号×2-1)」の部分が「A61」に 「A+(そのセルの行番号×2)」の部分が「A62」になるように、数式を書き換えます。 B61、C61に数式を入力する場合、 61×2-61=61、61×2-60=62 となりますので、数式は =INDIRECT("A"&ROW()*2-61) =INDIRECT("A"&ROW()*2-60) となります。 なお「×2」の部分を「×3」にして数を調整すると、3行に分ける場合にも対応できます。 ******************************* と、ここまで書いたところで、上記式の場合、もしA列を隠してB・C列を数式のまま使おうとした際に、行の追加・削除で行が移動した場合に、参照がずれてしまうことに気が付きました。 値の貼り付けで上書きされる場合は上記の式で構いませんが、もし数式のまま使われる場合は、B61、C61を =INDIRECT("A"&ROW()*2-(ROW($A$61))) =INDIRECT("A"&ROW()*2-(ROW($A$61))+1) として下さい。

apache6
質問者

お礼

詳しいご説明、まことにありがとうございます。 この方法で、業務が大変楽になりました。 感謝致します。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A列にデータがあるとして (テスト過程) B1に=(ROW()-1)*2+1といれ下へ複写します。 C1に=ROW()*2といれて下へ複写します。 B1:C5(一部です)は 1 2 3 4 5 6 7 8 9 10 となります。 この並びに整列すれば良いのですね。 (本番) B1に=OFFSET($A$1,(ROW()-1)*2+1-1,0) 即ち=OFFSET($A$1,(ROW()-1)*2,0)といれて B2以下に複写します。 C1には=OFFSET($A$1,ROW()*2-1,0)といれてC2以下に 複写します。 (結果)一部である、B1:C5は あ い う え お か き く け こ (注) 他シートに2列化したい時はSheet2のA1に =OFFSET(Sheet1!$A$1,(ROW()-1)*2,0) B1に=OFFSET(Sheet1!$A$1,ROW()*2-1,0) として下に複写すれば良い。

apache6
質問者

お礼

ご回答ありがとうございます。 A1からデータが並んでいると、この方法でも うまくいきました。

  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.1

B1に =INDIRECT("A"&ROW()*2-1) C1に =INDIRECT("A"&ROW()*2) と入力して以下コピー。 A列が不要であれば、A列右クリック→表示しない、で隠すか、 B,C列を選択してコピー、A1右クリック→形式を選択して貼り付けで「値」を選択して貼り付け、その後C列削除 でいいと思います。

apache6
質問者

補足

例題は分かりやすくA1から始めましたが、 実際は、A61からA68までに"あ"から"く"があり、   B C 61 あ い 62 う え 63 お か 64 き く のように表示したいのですが、その場合は どうすればよいでしょうか? A1に張り直せば教えていただいた方法で、できるのですが、 数が多いので、直接処理したいです。

関連するQ&A

専門家に質問してみよう