このチュートリアルでは、関連するデータのサブセットを返すために不要な行と列をドロップできる新しいExcel 365関数を紹介します。
巨大なデータセットを分析する場合、合計行/列、ヘッダー、またはフッターなしでデータのみをプルする必要がある場合があります。以前のExcelバージョンでは、古き良きコピー/ペーストテクニックに頼らなければなりません。 Excel 365では、無関係なデータを「ドロップ」することにより、配列の目的の部分を動的に抽出する特別な機能があります。
Excelのドロップ関数は、配列の開始または終了から指定された行数および/または列を削除します。
構文には次の引数が含まれています。
ドロップ(配列、行、[列])どこ:
配列(必須) - ソースアレイまたは範囲。
行(オプション) - ドロップする行数。正の値は、配列の開始から行を削除し、アレイの端から負の値を削除します。省略した場合、列を設定する必要があります。
列(オプション) - ドロップする列の数。正の整数は、配列の開始から列を除外し、アレイの端から負の整数を除外します。省略した場合、行を定義する必要があります。
これが動作中のドロップ関数です:
ドロップ関数は、Microsoft 365(Windows and Mac用)のExcelでのみ利用可能で、WebでExcelです。
以下の5つの簡単な事実は、ドロップ関数の内部メカニズムをよりよく理解するのに役立ちます。
理論で武装して、実際の問題に進み、不必要な行または列を落として配列の一部を返す方法を見てみましょう。
2Dアレイまたは範囲の開始から一定数の行を削除するには、行の引数に正の数を供給します。
たとえば、範囲A3:C16から最初の5行をドロップするには、次の式は次のとおりです。
=DROP(A3:C16, 5)
式はセルE3に入力され、結果を必要な限り多くの行と列に自動的に入力します。
2Dアレイまたは範囲の先頭から特定の数の列を削除するには、列引数に正の数を提供します。
たとえば、範囲A3:C16から最初の列をドロップするには、この式を使用します。
=DROP(A3:C16, ,1)
フォーミュラはセルE3に着地し、元の範囲にある2つの列と同じ数の行にこぼれます。
配列の先頭から行と列の両方を削除するには、行と列の両方の引数に正の数値を提供します。
たとえば、データセットから最初の5行と1列を削除するには、次の式は次のとおりです。
=DROP(A3:C16, 5, 1)
配列の端から行を削除するには、行の引数に負の数値を使用します。例えば:
最後の行を削除するには、供給-1:
=DROP(A3:C16, -1)
最後の3行を除外するには、供給-3:
=DROP(A3:C16, -3)
最後の5行を削除するには、供給-5:
=DROP(A3:C16, -5)
以下のスクリーンショットは、最後の式の結果を示しています。
配列の端からいくつかの列を除外するには、列引数に負の数値を提供します。例えば:
最後の列を削除するには、-1を使用します。
=DROP(A3:D16, , -1)
最後の2列をドロップするには、-2を使用します。
=DROP(A3:D16, , -2)
最後の3列を削除するには、-3を使用します。
=DROP(A3:D16, , -3)
そして、ここに最後の2つの列がドロップされた結果があります:
ヒント。配列の端から行と列の両方を削除するには、行と列の両方の引数に負の数値を提供します。
いくつかの列または行をドロップする前にソース配列の値を再アレンジする状況では、必要な列でアレイを並べ替えまたは下降順にソートできるソート関数を活用します。
たとえば、この式を使用して、以下の範囲を4列目(名前付き平均)で最高から最低まで並べ替えることができます。
=SORT(A3:D16, 4, -1),
次に、ソートされた配列をドロップ関数に提供し、5つの最低結果を省略するように指示します。
=DROP(SORT(A3:D16, 4, -1), -5)
いくつかの非連続範囲を使用する場合、1つの式にいくつかの機能を組み合わせることで、一度に「マージしてドロップ」できます。
元のデータの構造に応じて、次のアプローチの1つが機能する場合があります。
以下のスクリーンショットに示すような3つの別々の範囲があるとします。範囲を上から下に垂直にマージするには、vstack式は次のとおりです。
=VSTACK(A4:D7, A11:D15, A19:D23)
ドロップの配列引数にネストし、削除する行または列の数を指定すると、探している結果が得られます。
たとえば、積み重ねられた配列から最後の列を削除するために、式は次の形式を取得します。
=DROP(VSTACK(A4:D7, A11:D15, A19:D23), , -1)
結果は次のように見えます。
ソース範囲が行で水平に配置されている場合、それらをHSTACK関数の助けを借りて単一の配列に結合することができます。私たちの場合、これは使用する式です。
=HSTACK(B3:E6, H3:K6)
そして、ドロップ関数の配列引数に上記の式をネストし、必要に応じて行と列の引数を構成します。
この例では、行の引数に-1を使用して最後の行を削除します。
=DROP(HSTACK(B3:E6, H3:K6), -1)
Excel 365には、配列または範囲の一部を返すためのもう1つの有用な関数があります - 機能を取得します。基本的に、これらの2つの関数は同じタスクを実行しますが、異なる方法で実行されます。 Dropは配列から特定の行や列を除外しますが、Takeは配列から特定の行や列を取得します。
例えば:
最初の3行を削除するには、以下を使用します。
=DROP(array, 3)
最初の3行を抽出するには、以下を使用します。
=TAKE(array, 3)
ドロップ関数がExcelで機能しない場合、またはエラーが発生した場合、これらの理由の1つである可能性が最も高くなります。
ドロップは、可用性が限られている新しい機能です。バージョンがExcel 365以外の場合、式は関数の名前を間違えたかのように#Nameエラーを返します。より多くの原因とソリューションは、Excel #Nameエラーで説明されています。
ドロップフォーミュラが、配列にあるよりもすべて以上の行または列を削除するように構成されている場合、#calc!エラーは、返すものが何もないことを示します。
フォーミュラの右下に空のセルが足りない場合は、#Spillエラーが発生します。それを修正するには、流出範囲をクリアするだけです。詳細については、#spillを修正する方法をご覧ください! Excelのエラー。
これで、Excelのドロップ関数を使用して、配列から行または列を削除する方法です。お読みいただきありがとうございます。来週のブログでお会いしましょう!
Excelドロップフォーミュラ - 例(.xlsxファイル)
以上がアレイから特定の行または列を削除するためのExcelドロップ機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。