1

だから私は、名前、年齢、電話番号などで構成される研究に参加する資格がある可能性のある参加者のExcelデータセットを持っています...のように:

名前 | 年齢 | 電話 | メール | 住所 | 参加した研究

新しい研究の対象となる参加者の名前の列もあります。これは、名前列のデータのサブセットです。

私がする必要があるのは、名前がサブセット列にあるすべての参加者を選択し、すべての列のすべての情報をコピーして新しい列に貼り付けることです。

空の列を選択して =IF($Name-column = $Subset-column, First-Column:Last-Column, "") を使用するようなことを試しましたが、これは名前列の各セルの名前のみをチェックしますサブセット列の名前と一致します。必要なのは、名前列の名前のいずれかがサブセット列の名前と一致するかどうかを確認し、一致する場合はその行を新しいワークシートにコピーすることです。

4

2 に答える 2

1

IndexすべてのデータとMatch行をサブセット名に移動し、各列をプルすることができます。

たとえば、次のようになります。

=INDEX(All!A1:F4,MATCH(Subset!A2,All!A1:A4,0),2)

これを分解してみましょう:

index 関数は次の引数を取ります。

Index(Array, Row_Number, Column_Number)

配列はあなたが持っているすべてのデータになり、行番号は一致関数 (以下) を使用してデータを取得する行を見つけ、列番号はインデックスから情報を取得する列を表します (これをインクリメントし続けて、すべての列を取得します)。

正しい行を返すには、match を使用します

Match(Lookup_Value, Lookup_Array, Match_Type)

ルックアップ値については、サブセット リストの現在の行を指すようにします。ルックアップ配列は、以前にマスター リストで定義したインデックスから取得できるすべての名前になり、一致タイプは 0 になります (完全一致の場合)。

このエクセル文書を見てください

于 2013-06-01T19:28:20.360 に答える
1

a を使用するVLOOKUPとうまくいくはずです。

名前テーブルの横の空の列に、次のような一連の数式を入力します。

  =IFERROR(VLOOKUP(<name_from_current_row_of_name_table>,<subset_column_range>,1,FALSE),0)

次に、名前テーブルにフィルターを適用し、新しい列の 0を除外する条件を設定できます。フィルター処理されたデータを新しいシートにコピーします。

于 2013-06-01T19:24:37.003 に答える