メインコンテンツへスキップ

Excelで行または列を逆の順序でコピーして貼り付ける方法は?

以下のスクリーンショットに示すように、列または行のリストを垂直方向または水平方向に逆の順序でコピーして貼り付ける必要がある場合があります。 この仕事をExcelですばやく簡単に処理するにはどうすればよいですか?

式を使用して、列または行のリストを逆の順序でコピーして貼り付けます

VBAコードを使用して、列または行の範囲を逆の順序でコピーして貼り付けます

すばらしい機能を使用して、列または行の範囲を逆の順序でコピーして貼り付けます


式を使用して、列または行のリストを逆の順序でコピーして貼り付けます

列のリストを逆の順序でコピーして貼り付けます

列セルのリストを逆にしたい場合は、次の数式を適用できます。

次の数式を入力するか、列の順序を逆にする空白のセルにコピーします。

=OFFSET($A$15,-(ROW(A1)-1),0)

Note:上記の式では、 A1 列の最初のセルであり、 A15 列の最後のセルです。

次に、下のスクリーンショットに示すように、塗りつぶしハンドルをセルまでドラッグして、セル値を逆の順序で抽出します。


行のリストをコピーして、水平方向に逆の順序で貼り付けます

行のリストを逆の順序でコピーして貼り付けるには、次の式を使用してください。

この数式を空白のセルに入力またはコピーします。

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

Note:上記の式では、 A1 行の最初のセルであり、 1:1 データが配置された行番号です。 行10のデータの場合は、10:10に変更する必要があります。

次に、すべての値が抽出されるまで、この数式を適用するセルに塗りつぶしハンドルを右にドラッグすると、すべての値が水平方向に反転します。スクリーンショットを参照してください。


VBAコードを使用して、列または行の範囲を逆の順序でコピーして貼り付けます

列または行の範囲を逆の順序でコピーして貼り付ける必要がある場合は、ここで、それをすばやく簡単に解決するためのVBAコードをいくつか紹介します。 次の手順で実行してください。

列のリストを逆の順序でコピーして貼り付けます

1。 まず、データをコピーして新しい場所に貼り付けてから、 Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

VBAコード:セルの範囲を垂直方向に逆の順序でコピーして貼り付けます

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3。 次に、 F5 このコードを実行するためのキーを押すと、垂直方向に反転するデータ範囲を選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

4。 次に、をクリックします OK ボタンをクリックすると、以下のスクリーンショットに示すように、データ範囲が垂直方向に反転します。


セルの範囲を水平方向に逆の順序でコピーして貼り付けます

データ範囲を水平方向に逆にするには、以下のVBAコードを適用してください。

VBAコード:セルの範囲を水平方向に逆の順序でコピーして貼り付けます

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

このコードを実行すると、必要に応じて次のスクリーンショットが表示されます。


すばらしい機能を使用して、列または行の範囲を逆の順序でコピーして貼り付けます

上記の式とVBAコードに慣れていない場合は、ここで簡単なツールをお勧めします-Kutools for Excelそのと 垂直範囲を反転 > 水平範囲を反転 機能では、ワンクリックでセルの範囲を垂直方向と水平方向に反転できます。

ヒント:これを適用する 垂直範囲を反転 > 水平範囲を反転 機能、まず、ダウンロードする必要があります Kutools for Excel、次に機能をすばやく簡単に適用します。

インストールした後 Kutools for Excel、次のようにしてください。

セルの範囲を水平方向に逆の順序でコピーして貼り付けます

1。 セルの範囲を選択し、をクリックします クツール > レンジ > 垂直範囲を反転 > すべて(値を反転するだけ)、スクリーンショットを参照してください:

2。 次に、セル値の範囲が一度に垂直方向に反転しました。スクリーンショットを参照してください。


セルの範囲を水平方向に逆の順序でコピーして貼り付けます

1。 セルの範囲を選択し、をクリックします クツール > レンジ > 水平範囲を反転 > すべて(値を反転するだけ)、スクリーンショットを参照してください:

2。 そして、選択範囲内のすべてのセル値がすぐに水平方向に反転しました。スクリーンショットを参照してください。

クリックしてKutoolsfor Excelと無料トライアルを今すぐダウンロードしてください!


より相対的なコピーアンドペーストの記事:

  • マージされたセルをコピーしてExcelの単一セルに貼り付ける
  • 通常、結合されたセルをコピーして他のセルに貼り付けると、結合されたセルが直接貼り付けられます。 ただし、次のスクリーンショットに示すように、これらのマージされたセルを単一のセルに貼り付けて、必要に応じてデータを処理できるようにします。 この記事では、結合されたセルをコピーして単一のセルに貼り付ける方法について説明します。
  • 列をコピーして、Excelで一意のレコードのみを貼り付ける
  • 重複が多い列の場合、一意の値のみを含むこのリストのコピーを取得する必要がある場合があります。 これを達成するためにどのようにできますか? この記事では、Excelの列リストから一意のレコードのみを貼り付けるXNUMXつの方法を提供します。
  • 保護されたシートからデータをコピーする
  • ワークシートがユーザーによって保護されている別の人からExcelファイルを受け取ったとします。ここで、生データをコピーして別の新しいブックに貼り付けます。 ただし、ワークシートを保護するときにユーザーが[ロックされたセルを選択]および[ロックされていないセルを選択]オプションをオフにしているため、保護されたシートのデータを選択してコピーすることはできません。
  • Excelの高度なフィルターを使用してデータを別のワークシートにコピーする
  • 通常、高度なフィルター機能をすばやく適用して、同じワークシートの生データからデータを抽出できます。 ただし、フィルタリングされた結果を別のワークシートにコピーしようとすると、次の警告メッセージが表示される場合があります。 この場合、Excelでこのタスクをどのように処理できますか?

  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
Comments (3)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
OFFSET($A$15,-(ROW(A1)-1),0) and OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),) do not work when the data is not located in the first row or column.
these functions seem to work better:

Mirror row:
suppose the data is located in G11:K11
OFFSET($G$11,,COUNTA(11:11)-COUNTA($G$11:G11),) ........ OFFSET($G$11,,COUNTA(11:11)-COUNTA($G$11:K11),)

Mirror column:
suppose the data is located in E22:E26
OFFSET($E$22,ROW($E$26)-ROW(E22),0) ........ OFFSET($E$22,ROW($E$26)-ROW(E26),0)
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Nasrin,

How are you. I tried your formulas and they work perfectly. Thanks for your share. We will take your advice. Have a great day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Me funcionó la opción del código VBA. Muchas gracias!!!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations