- ベストアンサー
エクセル数値一覧表の一括入れ替え方法は?
エクセルの数値一覧表(例えばA~X列の1~100行の数値表)の 列の中心M列?を軸にしてA列をX列へ左右一括入れ替える方法を教えて下さい=又行も50行を軸に1を100に100を1へ上下一括で一覧表を入れ替える方法はありませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1のNNAQです。 では、まずROW関数をご説明します。 ROW関数は行番号を返します。 どこかのセルに =ROW(A1) と入力すると「1」と出ます。 A1の行番号が「1」だからです。 =ROW(B1) =ROW(C1) =ROW(D1) どれも同じ「1」です。 =ROW(A2) なら「2」 =ROW(A3) なら「3」です。 カッコの中を省略する(何も入力しない)と、そのROW関数が入力されたセルの行番号になります。 A1セルに =ROW() A1は1行目なので「1」 C1セルに =ROW() C1も1行目なので「1」 B3セルに =ROW() B3は3行目なので「3」 COLUMN関数は、ROW関数と使い方は同じですが、列番号を返します。 どこかのセルに =COLUMN(A1) A列は1列目なので「1」 どこかのセルに =COLUMN(C2) C列は3列目なので「3」 A1セルに =COLUMN() A1は1列目なので「1」 C1セルに =COLUMN() C1は3列目なので「3」 B3セルに =COLUMN() B3は2列目なので「2」 A1に =101-ROW() と入力すると =101-1 で「100」ですね。 A1に =25-COLUMN() と入力すると =25-1 で「24」です。 それで#1の式は、 =INDEX(Sheet1!$A$1:$X$100,101-ROW(),25-COLUMN()) Sheet1の"A~X列の1~100行の数値表"の、100行目の24列目つまりX100セルに入力された値が別シートのA1に表示されます。 それをA2セルにコピーすると、 A2に =101-ROW() =101-2 で「99」 A2に =25-COLUMN() =25-1 で「24」 A2の =INDEX(Sheet1!$A$1:$X$100,101-ROW(),25-COLUMN()) は、 =INDEX(Sheet1!$A$1:$X$100,99,24) なので Sheet1の表の、99行目の24列目のX99セルに入力された値がA2に表示されます。 右へ下へコピーすると「101-ROW()」と「25-COLUMN()」の部分が変わるので、それを利用しています。 この式だと上下左右反転になります。 ご希望とは違うようなので、ちょっと変更して (1)上下の入れ替え =INDEX(Sheet1!$A$1:$X$100,ROW(A1),25-COLUMN(A1)) 右へ下へフィルドラッグ。 (2)左右の入れ替え =INDEX(Sheet1!$A$1:$X$100,101-ROW(A1),COLUMN(A1)) 右へ下へフィルドラッグ。 うまく説明できたかどうか、ちょっと不安です・・・ エラー無しで成功しますように! 以下蛇足 例えば「C37~AG124の表」だったりしたら行数・列数を数えるのが大変。 そんな場合は行数・列数も数式に組み込んでしまいます。 (1)上下の入れ替え =INDEX(Sheet1!$C$37:$AG$124,1+ROWS($C$37:$AG$124)-ROW(A1),COLUMN(A1)) (2)左右の入れ替え =INDEX(Sheet1!$C$37:$AG$124,ROW(A1),1+COLUMNS($C$37:$AG$124)-COLUMN(A1)) あくまでも蛇足なので、混乱しそうなら無視して下さいませ。
その他の回答 (1)
別シートのA1に =INDEX(Sheet1!$A$1:$X$100,101-ROW(),25-COLUMN()) 右へ下へフィルドラッグ。 数式中の「101」は「行数+1」、「25」は「列数+1」ですので、 表の大きさによって変更してください。
お礼
早速のご回答ありがとうございます。 エクセルも全くの素人です/ご回答の説明をお願いします。 いろいろ挑戦しましたがどうしてもエラーになります 101-ROW(行の範囲?が分かりません),25-COLUMN(列の範囲?)) 例えば:(1)A100行のX列までをA1のX列までへ上下の入れ替え (2)A列の100行までをX列の100までに左右の入れ替え する時の (1)(2)時場合の具体的数式を教えて下さい/よろしく
補足
早速のご回答ありがとうございます。 エクセルも全くの素人です/ご回答の説明をお願いします。 いろいろ挑戦しましたがどうしてもエラーになります 101-ROW(行の範囲?が分かりません),25-COLUMN(列の範囲?)) 例えば:(1)A100行のX列までをA1のX列までへ上下の入れ替え (2)A列の100行までをX列の100までに左右の入れ替え する時の (1)(2)時場合の具体的数式を教えて下さい/よろしく
お礼
大変ありがとうございました。/感謝・感激です/世の中賢い人が居るに居るものと目からウロコです。 特に蛇足の話(式)は有難かったです。/又悩む処でした 本当に助かりました/お礼申し上げます/又よろしく 1)上下の入れ替え =INDEX(Sheet1!$A$1:$X$100,ROW(A1),25-COLUMN(A1)) この式は左右入れ替えになりました/少し悩みました