Excel の基準に基づいて、あるシートから別のシートに行をコピーする
Microsoft Excel で 異なる基準に基づいて、任意のワークシートから別のワークシートに行をコピーする必要がある場合があります。この記事では、Excel の基準に基づいて、あるシートから別のシートに行をコピーするさまざまな方法を紹介します。
練習用ワークブックをダウンロード
ワークブックをダウンロードして練習できます。
Excel の基準に基づいて、あるシートから別のシートに行をコピーする 6 つの方法
Excel で行をコピーする 6 つの非常に簡単な方法を紹介します。それらはすべて利用するのに非常に便利です。これらのいずれかを選択して、作業を完了することができます。これ以上苦労することなく、それぞれを個別に調べて、Excel の基準に基づいてあるシートから別のシートに行をコピーしてみましょう.
1.あるシートから別のシートに行をコピーするための Excel フィルター オプションの使用
このプロセスを説明するために、いくつかの果物のデータセットとその単価を考えてみましょう 、体重 、合計金額 .この完全な表はシート名 Filter Op. に保存されます。 私たちのワークブックで。ここで、Filter Op から行をコピーします。 Result1 に保存されます シート、フィルタリングを使用 と コピー オプション。
手順:
- まず、データを選択します。
- 次に、 データ に移動します リボンのタブ
- 3 番目に、[フィルタ] をクリックします。 オプション、[並べ替えとフィルター] の下 グループ。
- 行をコピーする目的の列を選択します。ここでは、果物を選択しました
- 次に、このワークシートからコピーする行を選択します。 マンゴーを選択しました 例として、ここに行を示します。選択したアイテムの行のみがコピーされます。この列のすべての行をコピーする必要がある場合は、[すべて選択] を選択できます。 オプション。
- コピー データを選択して Ctrl を押すと、データ全体 +C .
- さらに、+ をクリックして新しいワークシートを作成します (プラス ) 下に署名するか、キーボード ショートカット SHIFT を使用できます +F11 .
- Ctrl を押して、コピーしたデータを貼り付けます +V 、新しいワークシート Result1 に .
- 最後に、選択したすべてのデータが Filter Op. からコピーされます。 結果1へ .
続きを読む: Excel VBA:セルの値をコピーして別のセルに貼り付ける
2.高度な機能を利用して、あるシートから別のシートに行を複製する
このプロセスを示すために、方法 1 と同じ例を検討します。 .ただし、ここでは 高度なフィルタ を使用します Sheet3 から行をコピーするため Sheet4 へ .テスト基準は、合計価格のすべての果物になります。 150 より大きい . Sheet3 から行をコピーします。 Sheet4 へ 合計金額が 150 を超える場合。
手順:
- まず、 Result1.1 に移動します シートを開き、[詳細strong>] を選択します データの下 タブ
- その後、[別の場所にコピー] を選択します オプション
- 次に、リスト範囲を選択します ボックスに移動して Advanced に移動します シートを開き、データセット全体をコピーしてください。
- さらに、基準範囲を選択します
- 次に、コピー先を選択します Result1.1 に自動的に移行するオプション シートを開き、そのワークシートの任意のセルを選択してください。
- 次に、OK を押します ボタン。
- したがって、シート 詳細strong> から行がコピーされます Result1.1 へ 上記の基準に基づく。
続きを読む: あるワークシートから別のワークシートにコピー アンド ペーストするマクロ (15 メソッド)
3.配列数式を使用して、あるシートから別のシートに行をコピーする
あるシートから別のシートに行をコピーするもう 1 つの方法は、配列数式を使用することです。配列数式を使用すると、コピー プロセスを自動化できます。このプロセスを示すために、上の同じデータセットに、Shop Names という列をもう 1 つ追加して考えてみましょう。 次に、ショップ名に従って行をコピーします。 また、すべてのワークシートには Shop Name という名前が付けられます .
Shop Names に従って行をコピーすることを目標とします。 新しいワークシートに。
手順:
- 最初に、ショップ名で新しいワークシートを作成します .
- 次に、Rooted などの新しいワークシートに移動します。 次に、セル B4 を選択します 以下の式を入力し、CTRL を押します +SHIFT +エンター . MS Excel 365 を使用している場合 次に Enter を押します .
=IFERROR(INDEX(Sheet7!$A$4:$E$100,SMALL(IF(Sheet7!$F$4:$F$100=$F$3,ROW(Sheet7!$A$4:$B$100)-ROW(Sheet7!$B$4)+1),ROWS(Sheet7!$A$4:$B4)),COLUMN()),"")
式の説明
この数式では、いくつかの Excel 関数を使用しています。ここでは、配列数式で使用されたすべての関数について説明します。
ROWS(array)
ROWS 関数 セルの範囲への配列または参照を取り、指定された範囲に基づいて参照または配列の行数を返します。
COLUMN([reference])
COLUMN 関数のパラメータでセル参照をバイパスする 指定されたセル参照に従って、特定の列番号を取得します。
SMALL(array, n)
SMALL 関数の使用 n を決定できます 特定の配列で th 番目に小さい値。通常、パラメータの最初の部分はデータセットまたは配列の範囲を保持し、他の部分はこの関数から返されるデータの配列または範囲内の目的の位置を含みます。
INDEX(array, row_num, [column_num])
使用したもう 1 つの関数は、INDEX 関数です。 .この関数のパラメータにはパーツがあります。最初の部分では、必要なデータ範囲の配列または範囲を取ります。次に、値を返したい場所から行番号を取得します。最後に、列番号の部分は必須ではなく、オプションです。値を返す特定の列番号の値を配列に渡すことができます。
IFERROR(value, value_if_error)
これは、IFERROR 関数である最後の関数です または、配列数式で使用された最も外側の関数。これは主に、指定された値がエラー値と等しいかどうかをチェックする条件付き関数です。最初の部分では、入力された値を取得し、値がエラー値であるかどうかをチェックしてから、パラメーターの 2 番目の部分を返します。
- さらに、式を上下にコピーして、一致した行の合計を取得します。
- 他のワークシートについても同じようにします。
- 配列数式の値を変更することで確認できます 値が自動的に変更されるかどうかを確認してください。
- Rooted に移動 ワークシートを開いて変更を確認してください。
続きを読む: 条件に基づいて行を別のワークシートにコピーする Excel VBA
類似の読み物
- Excel で行を交互にコピーする方法 (4 つの方法)
- [修正]:Excel で右クリックのコピーと貼り付けが機能しない (11 の解決策)
- フィルターを使用して Excel で行をコピーする方法 (6 つの高速な方法)
- 開かずに別のワークブックからデータをコピーする Excel VBA
- Excel で複数のセルを別のシートにコピーする方法 (9 つの方法)
4.複合関数を使用して行を複製する
別のワークシートに表示されている行を自動的にコピーする別の方法を見てみましょう。この方法では、方法 4 で使用したものと同じデータセットを検討します。 次に、ショップ名に従って果物のリストを並べ替えます。 合計金額 $130 より大きい . ショップ名を選択するだけの場合 ドロップダウン リストから Enter を押します 次に、一致したすべての行が 関数 からコピーされます シートに表示され、Result2 に表示されます
手順:
- まず、G5 を選択します 関数のセル シートに次の式を入力してください:
=IF(AND(F4=Sheet15!$C$1,E4>=130),MAX(G$1:G2)+1,"-")
- 次に、Enter キーを押します キーボードのキー
- フィル ハンドルをドラッグします アイコンを下にドラッグして、範囲全体で数式を複製します。または、オートフィル 範囲、ダブルクリック プラス (+ ) 記号。
- ついに結果が表示されます。
式の説明
ここでは、さまざまな Excel 関数を使用しています。以下ですべての機能の詳細について説明しました:
MAX(number1, [number2], ...)
MAX 関数 パラメータに数値を取り、それらの中で最も高い値を返します。
AND (logical1, [logical2], ...)
AND 関数 パラメータとして 2 つ以上の論理条件を取り、True を返す論理関数です。 すべての条件が満たされている場合。それ以外の場合は、False を返します .
IF (logical_condition, [value_if_true], [value_if_false])
これは、IF 関数のもう 1 つの条件付き関数です。 論理条件を取り、True であるかどうかに応じて値を返す Excel で または偽 .
- さらに、 Result2 に移動します シートを開き、セル B7 に式を入力します。
=IFERROR(INDEX(Sheet14!F:F,MATCH(ROWS($1:1),Sheet14!$G:$G,0))&"","")
- Enter を押します キー。
式の説明
ここでは MATCH のみ 関数は、これまで使用してきた新しいものです。
MATCH(lookup_value, lookup_array, [match_type])
MATCH 関数で 、パラメーターの最初のセクションは、検索または探したい値であるルックアップ値として使用されます。次のセクションは、ルックアップ値を検索するセルの配列範囲を保持します。最後に一致するタイプは -1、0、1 の値で、Excel が lookup_value と lookup_array の値を一致させる方法を定義します。
- さらに、配列を上下にコピーします。
- ここで任意のショップ名を選択すると、ショップ名が表示されます そしてフルーツ 一致したショップ名のフルーツの合計価格の名前 $130 より大きい .
続きを読む: Excel VBA:範囲を別のブックにコピー
5. Excel の FILTER 関数を使用して、あるシートから別のシートに行をコピーする
FILTER 関数を使用できます 指定した基準に従ってさまざまなデータをフィルタリングします。この関数を使用して、基準に基づいて行を別の行にコピーする手順に従ってみましょう。次のデータセットを使用します。 FILTER からデータを取得します シートにコピーして Result3 にコピーします
手順:
- まず、結果を表示するセルを選択します。
- 数式をそのセルに挿入します。この場合、セルは B5 です シート Result3 から .
=FILTER(FILTER!B4:F14,FILTER!F4:F14="Rooted")
- さらに、Enter キーを押します キーボードのキー
- そして、それだけです!基準を満たすすべての行が FILTER からコピーされます Result3 へのシート
6.あるシートから別のシートに行をコピーするための Excel VBA の適用
ここでは、前の例と同じことを行いますが、VBA を使用します。 We will find out the list of fruits whose total prices are greater than 150 from sheet VBA to sheet Result4 by clicking on a command button. Let’s see the steps to copy rows from one sheet to another based on criteria in Excel.
STEPS:
- In the first place, go to the Developer Tab.
- Then, select the ActiveX Control under the Insert オプション
- Change the button caption and font using the Properties オプション
- Click on the button it will move you to the VBA window. Write the code like this:
Code:
Private Sub CommandButton1_Click()
a = Worksheets("VBA").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("VBA").Cells(i, 4).Value > 150 Then
Worksheets("VBA").Rows(i).Copy
Worksheets("Result4").Activate
b = Worksheets("Result4").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Result4").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("VBA").Activate
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("VBA").Cells(1, 1).Select
End Sub
- After that, run the code by clicking on the RubSub button or pressing the keyboard shortcut F5 . Or, click on the button.
VBA Code Explanation
Here the important lines of the code are explained.
- We are counting the total row number from VBA and storing it in variable a.
- Using IF conditions we are checking the Total Price of each fruit row.
- Again, count the row number of Result4 and store it in variable b.
- Selecting the matched values by incrementing the value of b.
- After that, we click on the Run button of VBA .
- Finally, go to sheet Result4 then you will see copied rows from one sheet to another based on criteria in Excel.
続きを読む: How to Copy Rows Automatically in Excel to Another Sheet (4 Methods)
結論
The above methods will assist you to copy rows from one sheet to another based on criteria in Excel. I have shown all the methods with their respective examples. If you have any other method of achieving this then please feel free to share it with us.
関連記事
- How to Display Text from Another Cell in Excel (4 Suitable Ways)
- VBA Code to Compare Two Excel Sheets and Copy Differences
- How to Use VBA to Paste Values Only with No Formatting in Excel
- Copy and Paste is Not Working in Excel (9 Reasons &Solutions)
- How to Copy Multiple Rows in Excel Using Macro (4 Examples)
-
Excel で基準に基づいて行を列に転置する方法 (2 つの方法)
通常、 TRANSPOSE 関数は、行を列に変換するためによく使用されます。ただし、一意の値など、特定の基準に応じた結果は返されません。このチュートリアルでは、Excel の条件に基づいて行を列に転置する方法を紹介します。 Excel で基準に基づいて行を列に転置する 2 つの便利な方法 以下の図には、いくつかの製品とその数量のデータセットが含まれています。 行は列に置き換えられます。 基準に基づいて行を列に入れ替えます 別のセルにいくつかの重複するエントリがあるため、一意の値の。まず、INDEX を使用します 、マッチ 、COUNTIF 、IF 、および IFERROR 数式を作成す
-
別のシートからの Excel マッピング データ (6 つの便利な方法)
複数のワークシートで作業することは、通常の Excel ユーザーの間で非常に一般的です。しかし、これらのワークシート間でデータをマッピングするのは、非常に時間のかかる作業です。したがって、Excel で別のシートからデータをマッピングする方法を知る必要があります。これを考慮して、別のシートからの Excel マッピング データに関する 6 つの便利な方法に関する記事を以下に示します。 ワークブックをダウンロード こちらからサンプル ファイルを入手して、自分で練習してください。 Excel で別のシートからデータをマッピングするための 6 つの便利な方法 説明のために、ここでは 2 つのデー