web-dev-qa-db-ja.com

2つのリストを比較し、Googleスプレッドシートで不足しているアイテムを表示する

2つの個別のリスト(招待済み-参加済み)を比較し、3番目のリスト(不在)を作成するソリューションを見つけようとしています。

関数は、「参加リスト(D、E、F)」のキーを見て、「招待リスト(A、B、C)」のキーと比較し、「欠席リスト(G、H) 、私)"。

データについて

  • キーは、招待された各人に割り当てられる「一意の値」です。
  • 「招待リスト(A、B、C)」のデータは、QUERYデータで構成されています。
  • 「Attended List(D、E、F)」のデータは、セルの値をコピー/貼り付けました。

望ましい結果の例

Invitded List (A,B,C)      Attended List (D,E,F)       Absent List (G,H,I)
 A      B       C            D      E       F            G      H        I
Key | Fname | Lname       | Key | Fname | Lname       | Key  | Fname | Lname
------------------------------------------------------------------- 
001   Tim     Smith         002  Mike     Jones         001    Tim     Smith
002   Mike    Jones         004  Jenny    Johnson       003    Amy     Wilson
003   Amy     Wilson
004   Jenny   Johnson

どんな援助も大歓迎です。

8
Mr. B

次のようなものを試すことができます:

=if(countif(D:D,A2)=0,A2,"")  

それに合わせて上下にコピーします。

COUNTIF

2
pnuts

=ArrayFormula(FILTER(A4:C7,ISERROR(match(A4:A7,D4:D5,0))))

説明

出席者リストに招待者が表示されない場合、MATCHはエラーを返します。 ISERRORはエラーをTRUEに、値をFALSEに変換します。この結果は、フィルター条件として使用されます。結果は、不在のリストです:

|   001 |Tim       |Smith
|   003 |Amy       |Wilson

数式の上に適切なヘッダーを追加するだけです

4
Rubén

VLOOKUP は、あなたが望む答えを得ることができる別の方法ですが、あなたが望むようにそれを提示するかどうかはわかりません。

Googleスプレッドシートのヘルプ記事VLOOKUPから、

範囲の最初の列でキーを検索し、見つかった行の指定されたセルの値を返します。

したがって、出席者のリストにStatus列を追加すると、招待されたリストでVLOOKUPを実行し、Attendedステータスを返すように要求できます。

データは次のようになります。

Before VLOOKUP

セルD2では、VLOOKUP式は次のようになります。

=VLOOKUP(A2, E:H, 4, FALSE)

  • A2はキーです
  • E:Hは範囲(出席者のリスト)です
  • 4は列番号を参照します範囲内返したい値の
  • FALSEは、キーと完全に一致するものを探していることを示します

セルD2からD5に数式を入力すると、次のようなデータになります。

After VLOOKUP

一致した場合、Status値がプルオーバーされます。一致するものがない場合は、#N/Aが表示されます。

0
rahi